我试图拼凑一个正则表达式以匹配连字符之间的数字。
一般的
a-b-c-d-e, where a,b,c,d,e can each be either one, two or three digit numbers.
例子
9-b-90-2-2
19-b-390-2-2
如何从每个表达式中选择数字b?
您可以使用下面的正则表达式仅获取数字b,
^[^-]*-([^-]*).*
>>> str = "9-b-90-2-2 "
>>> m = re.findall(r'^[^-]*-([^-]*).*', str)
>>> m
['b']
如果输入中包含一行或多行,则需要启用MULTILINE修饰符,
>>> str = """9-45-90-2-2
... 9-45-90-2-2-89-878"""
>>> m = re.findall(r'^[^-]*-([^-]*).*', str, re.MULTILINE)
>>> m
['45', '45']
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句