正则表达式,只有一个子串111

时间:2013-11-30 04:31:03

标签: regex

我必须为二进制字母{0,1}上的所有字符串提供正则表达式,并且只出现一次子字符串111?

所以我提出了这个RE (0+1)*111(0+1)*

是否我的RE对于子串111的恰好一次出现是否正确需要帮助?

2 个答案:

答案 0 :(得分:2)

这似乎涵盖了语言:

(0|110|10)*111(0|011|01)*

答案 1 :(得分:0)

对于所需部分使用正面预测,对受限制部分使用负面预测:

^(?=.*111)(?!(.*111){2})[01]+$

查看此正则表达式的live demo处理一些边缘情况。