总的来说,我很难理解RE。我一直在寻找好的参考资料但到目前为止还没有一个对我说清楚。如果有人知道好资源,请告诉我。我真的很感激。
我正在阅读关于RE的阅读材料,有几个我无法理解的例子
..(0 or 0(1 or 11)0)*.. no occurrence of 111
我认为要匹配,输入必须包含0
或010
或0110
或只包含无(正弦*
使其成为可选项)< / p>
这本书说以下是匹配0110
101011000010000101
011000011
我不反对,因为它们都包含三个中的至少一个(0
或010
或0110
)。
但是,该书说以下内容是错误的1110
1110110111
0101011111000011
。
该书声称..(0 or 0(1 or 11)0)*..
表示没有出现111
有人可以向我解释原因吗?
答案 0 :(得分:0)
用于匹配直接序列中不超过两个Input::file('logo');
s的二进制数的实际正则表达式是:
1
此正则表达式匹配任意数量的零(第一部分)或以下两种情况中的任意数量:^(0|(0(1|11)0))*$
或010
。这意味着正则表达式只匹配序列中的单个0110
或对1
。
你可以在这里探索这个正则表达式: