【发布时间】:2015-05-06 12:13:24
【问题描述】:
我想将所有“*”转换为“.*”,除了“\*”
String regex01 = "\\*toto".replaceAll("[^\\\\]\\*", ".*");
assertTrue("*toto".matches(regex01));// True
String regex02 = "toto*".replaceAll("[^\\\\]\\*", ".*");
assertTrue("tototo".matches(regex02));// True
String regex03 = "*toto".replaceAll("[^\\\\]\\*", ".*");
assertTrue("tototo".matches(regex03));// Error
如果“*”是第一个字符,则会发生错误: java.util.regex.PatternSyntaxException: 在索引 0 附近悬挂元字符“*”
什么是正确的正则表达式?
【问题讨论】:
标签: java regex replaceall