构造不包含二进制字符串的模式

时间:2013-02-24 10:26:39

标签: regex

我试图编写一个不包含二进制字符串的模式(让我们假设101)。我知道这些表达式无法使用Regular Expression来考虑http://en.wikipedia.org/wiki/Regular_language

我尝试使用Regular Expression编写上述问题的模式,但它似乎正在起作用。

\b(?!101)\w+\b

我想问的是,可以为我的问题编写正则表达式,为什么?如果是,那么我的正则表达式是否正确?

2 个答案:

答案 0 :(得分:0)

匹配不包含101的整个字符串:

^(?!.*101).*$

前瞻确实是一种通过正则表达式检查字符串条件的简单方法,但您的正则表达式只会匹配不以101开头的字母数字字词。

答案 1 :(得分:0)

你写了

  

我知道这些表达式不能使用Regular编写   表达式考虑http://en.wikipedia.org/wiki/Regular_language

在维基百科的文章中,您似乎错过了

  

请注意"正则表达式"提供许多功能   编程语言增加了创建它们的功能   能够识别不能表达的语言   正式的正则表达式(如下面正式定义)。

负向前瞻构造就是这样一个特征。