我想查找/匹配不包含两个连续字符作为数字的字符串。
例如,在以下字符串中:
12ab
1ab2
1a2b
ab12
我想选择第二个和第三个字符串 - 1ab2 和 1a2b。
现在已经尝试编写匹配器正则表达式几个小时了:(
非常感谢您的帮助..
最佳答案
最简单的事情就是这样
if ( ! myString.matches( ".*\\d\\d.*" ))
但是如果你想要一个真正的正则表达式,而不需要外面的“not”逻辑,那么总是有
"\\D*(\\d\\D+)*\\d?"
它匹配任意数量的“数字”字符 (\d
),前提是每个字符后跟一个或多个“非数字”字符 (\D
)在下一个数字之前。开头可以有一些非数字(可选),末尾也可以有一个数字(可选)。
关于java - 匹配字符串不具有两个连续字符作为java正则表达式中的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19668705/