2024-09-30 08:24:00 发布
网友
我在为字符串写正则表达式-
c190_12_1-10 c129 abc_1-90
分开到-
['c190_12_', '1', '10'] ['c', '129'] ['abc_', '1', '90']
到目前为止,我已经想出了(\D+)(\d+)-?(\d+)?
(\D+)(\d+)-?(\d+)?
但是,它并不适用于所有的组合。我错过了什么?你知道吗
不确定您到底做了什么,不想匹配什么,但这可能适合您:
(?:(\w+)(\d+)-|([a-z]+))(\d+)$
http://regex101.com/r/uA3eZ4
这里的秘密是从最后一刻开始,一直向后工作,似乎总是一样的情况。然后使用条件和non-capture组,最终得到显示的结果。你知道吗
您可以使用:
items = ['c190_12_1-10', 'c129', 'abc_1-90'] reg = re.compile(r'^(.+?)(\d+)(?:-(\d+))?$') for item in items: m = reg.match(item) print m.groups()
不确定您到底做了什么,不想匹配什么,但这可能适合您:
http://regex101.com/r/uA3eZ4
这里的秘密是从最后一刻开始,一直向后工作,似乎总是一样的情况。然后使用条件和non-capture组,最终得到显示的结果。你知道吗
您可以使用:
相关问题 更多 >
编程相关推荐