Python 替换正则表达式以匹配前两个破折号之间的所有文本
我正在尝试使用下面的regexPython 替换正则表达式以匹配前两个破折号之间的所有文本,python,regex,python-3.x,Python,Regex,Python 3.x,我正在尝试使用下面的regex\-(.*?)-\-(.*?)它似乎可以正常工作,但python说没有什么可重复的 我正在尝试匹配前两个破折号之间的所有文本,或者如果第一个破折号之后不存在第二个破折号,则从第一个-开始匹配所有文本 此外,上面的正则表达式包括破折号,但更希望排除这些破折号,这样我就不必进行额外的替换等。您可以使用此模式进行re.search: -([^-]*) 请注意,-不需要转义 另一种方法是只搜索前两个破折号的位置,并提取这些位置之间的子字符串。或者您可以使用split: &
\-(.*?)-\-(.*?)
它似乎可以正常工作,但python说没有什么可重复的
我正在尝试匹配前两个破折号之间的所有文本,或者如果第一个破折号之后不存在第二个破折号,则从第一个-
开始匹配所有文本
此外,上面的正则表达式包括破折号,但更希望排除这些破折号,这样我就不必进行额外的替换等。您可以使用此模式进行
re.search
:
-([^-]*)
请注意,-
不需要转义
另一种方法是只搜索前两个破折号的位置,并提取这些位置之间的子字符串。或者您可以使用split
:
>>> 'aaaaa-bbbbbb-ccccc-ddddd'.split('-')[1]
'bbbbbb'