正则表达式 – 正则表达式不包含101
我
came across正则表达式不包含101如下:
我无法理解作者如何提出这个正则表达式.所以我只想到了不包含101的字符串:
我似乎上面的正则表达式不匹配上面的字符串.但我不确定.所以尝试转换为等效的pcre正则表达式on regex101.com,但也失败了(因为可以看出我的正则表达式甚至不匹配包含单个1的字符串. 我的翻译有什么问题?上面的正则表达式确实正确吗?如果不是正确的正则表达式是什么?
阅读regex101右侧选项卡中的解释,它告诉你你的正则表达式做什么(我认为你误解了列表操作符的作用),列表操作符([)中,其他字符如(不再是元字符所以表达式[(0 * 1 * 0 *)[1(00)(000)]将等同于[01()* [],这意味着它匹配0或1或(或)或[
正则表达式的正确翻译0 * 1 * 0 *(100 000)*(0 1 0)* 将如下: ^((?:0*1*0*)|(?:1|00|000)*|(?:0+1+0+)*)$ regex101 Debuggex Demo 您的正则表达式[(0 * 1 * 0 *)[1(00)(000)] *(0 1 0)*]的作用是什么: [(0 * 1 * 0 *)[1(00)(000)] * – >匹配任何字符0,(,),*,[零次或多次后跟 (0 1 0)* – >匹配模式0 1 0 0或更多次后跟 所以你的表达相当于 [([] 01](0 1 0)*]这不是匹配不包含101的字符串的正则表达式 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |