我试图使用以下正则表达式\-(.*?)-|\-(.*?)*
它似乎在regexr上正常工作但python说没有什么可重复的?
我尝试匹配前两个短划线之间的所有文字,或者在第一个-
之后的第一个所有文字之后是否存在第二个短划线。
此外,上面的正则表达式包括破折号,但最好是排除这些,所以我不需要额外替换等。
答案 0 :(得分:2)
您可以对此模式使用re.search
:
-([^-]*)
请注意,-
不需要转义。
另一种方法是仅搜索两个第一个破折号的位置,并提取这些位置之间的子串。或者您可以使用split
:
>>> 'aaaaa-bbbbbb-ccccc-ddddd'.split('-')[1]
'bbbbbb'