【发布时间】:2013-02-28 19:40:00
【问题描述】:
鉴于正则表达式和下面的单词,我想匹配 - 之后的部分(也可以是 _ 或空格),前提是分隔符后面的部分是数字并且后面没有任何内容(我基本上想要只是一个数字和数字)。我正在使用组语句,但它似乎无法正常工作。它一直与开头的 3 匹配(如果我稍微修改一下,则匹配结尾的 1)。我如何实现这一点(通过使用分组)?
目标词:BR0227-3G1
正则表达式:([A-Z]*\s?[0-9]*)[\s_-]*([1-9][1-9]*)
不应该匹配 3G1, G1 , 1G
它应该只匹配纯数字,如 3,10, 2 等。
这里还有一个用于评估正则表达式的帮助网站:http://www.pythonregex.com/
更多示例:
应该匹配:
BR0227-3
BR0227 3
BR0227_3
分组(BR0227) (3)
它应该只匹配(BR0227)
BR0227-3G1
BR0227-CS
BR0227
BR0227-
【问题讨论】:
-
我很困惑..您能否提供更多示例输入和输出(例如应该匹配/捕获和不匹配的示例)?
-
请看编辑@ExplosionPills
-
@Cemre 检查我的答案,如果您正在寻找,请告诉我。
-
@OscarMederos 我使用我提供的网站尝试使用 BR0227-3G1 的正则表达式,它匹配
(u'G', u'1') -
@Cemre 抱歉,正则表达式错误。现在更新我的答案。