java - 匹配字符串不具有两个连续字符作为java正则表达式中的数字

标签 java regex

我想查找/匹配不包含两个连续字符作为数字的字符串。

例如,在以下字符串中:

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/

相关文章:

java - 图像为空时数据未插入数据库

java - 如果类没有成员变量,所有方法都应该是静态的吗

java - Spring-data-jpa @OneToMany 集合未填充

php - 表达式的开头或结尾没有句点?

sql - 检查支架是否平衡/匹配

java - 正则表达式在 zul -ZK 中不起作用

c# - 有没有理由用 Java/C#/C++ 编写简洁的代码?

java - 写入 : [\/] (\or/regex) correctly?

javascript - 检查从 preg_replace() 返回的值是否存在于数组中

mysql - REGEX 由子查询开始