1

我有问题。我试图弄清楚以下情况的正则表达式是什么,如果返回,我想匹配以下之一。

               ABC 1 or 
               ABC 1 0  or
               ABC 1 0 1  or 
               ABC 1 0 1 0 or etc

我正在尝试以下方法来实现这一点,但它只匹配第一个字符串(ABC 1)。

               regular expression: ABC (1|0)+

我一直试图弄清楚这一点,但我似乎无法弄清楚。有人可以帮忙吗?

谢谢

4

2 回答 2

2

如果你想确保它首先是 1,然后是 0,然后是另一个 1,然后是 0,等等,你可以使用这个:

re.match(r'ABC(?: 1(?: 0|$))+$', s)

正则表达式101演示

编辑:如果你不关心订单,你可以使用这个:

re.match(r'ABC(?: [01])+$', s)
于 2013-09-19T19:33:15.523 回答
0

ABC1(01)*0?

ABC,然后是 1,然后是零个或多个 0 1,最后是可选的 0。当然,假设您不想要空格。

如果你想在每个“部分”之后有一个空格:

ABC 1( 0 1)*( 0)?

于 2013-09-19T19:30:17.440 回答