不包含子串010的正则表达式

时间:2013-11-27 04:41:22

标签: regex binary

我正在尝试编写一个正则表达式来排除包含010的二进制字符串 我不太清楚要写什么。

我有这个开始,但我不太清楚该怎么做:

1*(0+10)*

谢谢!

3 个答案:

答案 0 :(得分:1)

如果要匹配二进制字符串(仅包含10的字符串)但排除包含字符串010的字符串,可能使用以下内容:

^((?!010)[01])*$

这将匹配零个或多个01个字符的任何序列,以使序列不包含子串010。开始(^)和结束($)锚点将确保输入字符串中不允许使用其他字符。

答案 1 :(得分:0)

你的尝试需要跟随任何一段零,这显然违反了你的约束。相反,要求任何1后跟至少一个或字符串结束。

(0*(1(1+|$))*)*

答案 2 :(得分:0)

使用锚定的负面展望:

^(?!.*010)[01]+$