繁体   English   中英

在Python中对正则表达式进行分组

[英]Grouping Regular Expression in Python

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

               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)+

我已经尝试解决了很长时间,但似乎无法解决。 有人可以帮忙吗?

谢谢

如果要确保它首先是1,然后是0,然后是其他1,然后是0,依此类推,则可以使用以下命令:

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

regex101演示

编辑:如果您不关心订单,可以使用此:

re.match(r'ABC(?: [01])+$', s)

ABC1(01)*0?

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

如果要在每个“部分”之后留一个空格:

ABC 1( 0 1)*( 0)?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM