正则表达式正好两个1&#s

时间:2016-04-05 00:11:42

标签: regex

我使用正则表达式相当新,我一直坚持如何制作一个正则表达式,接受包含正好两个1和零奇数的二进制字符串。我知道奇数零部分1 * 01 *(01 * 01 *)*但是我不确定如何将它合并到正好两个1部分中。

2 个答案:

答案 0 :(得分:0)

可能有一种更有效的方法,但有一种可能性:

  • 使用(00)*包含任意偶数个零
  • 手动添加两个 - > (00)*1(00)*1(00)*
  • 然后使用OR完成四个附加零的情况,这样总数就是奇数:前面,中间或后面一个额外的0或者所有这些位置中的一个

所以最终的正则表达式看起来像这样:

(0(00)*1(00)*1(00)*)|((00)*1(00)*01(00)*)|((00)*1(00)*1(00)*0)|((00)0*1(00)0*1(00)*0)

答案 1 :(得分:0)

在我的演讲中,他们说格式为字符0 * 1 0 * 1 0 *吗?