正则表达式 - 否定特定字符串/数字序列[java]

时间:2014-11-03 10:37:01

标签: java regex

我在查找否定特定字符串的 RegEx 时遇到问题。在这种情况下,我正在处理数字

如果我想排除我的数字组中的数字'12':

[1, 12, 121, 212, 312]

如何使用RegEx进行操作?如果我使用 ^((?!12)。)* $ 之类的东西,它将排除除“1”之外的所有数字,因为它们都具有'12'模式。

在这种情况下使用的rigth表达式是什么?

3 个答案:

答案 0 :(得分:4)

^((?!\b12\b).)*$

这应该为您完成。通过边界,您可以只排除12而不排除其他人。

答案 1 :(得分:0)

你真的不需要正则表达式,你可以简单地说:

String num = "[1, 12, 121, 212, 312]".split(",")[1].trim();

答案 2 :(得分:0)

你可以简单地使用它,

^(?!.*\\b12\\b)\\d+$

在开始时的否定前瞻声明在字符串中没有数字12前面和后面跟着一个字边界匹配。