我试图编写一个不包含二进制字符串的模式(让我们假设101
)。我知道这些表达式无法使用Regular Expression
来考虑http://en.wikipedia.org/wiki/Regular_language。
我尝试使用Regular Expression
编写上述问题的模式,但它似乎正在起作用。
\b(?!101)\w+\b
我想问的是,可以为我的问题编写正则表达式,为什么?如果是,那么我的正则表达式是否正确?
答案 0 :(得分:0)
匹配不包含101
的整个字符串:
^(?!.*101).*$
前瞻确实是一种通过正则表达式检查字符串条件的简单方法,但您的正则表达式只会匹配不以101
开头的字母数字字词。
答案 1 :(得分:0)
你写了
我知道这些表达式不能使用Regular编写 表达式考虑http://en.wikipedia.org/wiki/Regular_language。
在维基百科的文章中,您似乎错过了
请注意"正则表达式"提供许多功能 编程语言增加了创建它们的功能 能够识别不能表达的语言 正式的正则表达式(如下面正式定义)。
负向前瞻构造就是这样一个特征。