正则表达式,匹配星号和管道之间的子串

时间:2015-11-03 13:07:47

标签: python regex

我试图查找被星号和管道包围的字符串,例如:*|FOO|**|BAAAAAR|* 我已经研究了其他几个答案,但每次我将星号与管道相结合时,它都不起作用。任何人都可以帮助我吗?

我需要在同一文本中找到所有可能性,例如:

Hello *|FOO|*, let's play with *|BAAAAAR|*

我需要找到'*|FOO|*''*|BAAAAAR|*'

1 个答案:

答案 0 :(得分:2)

使用re.findall。由于*|是正则表达式中的特殊字符,因此您必须按顺序对其进行转义,以匹配文字*|个字符。

>>> s = "Hello *|FOO|*, let's play with *|BAAAAAR|*"
>>> re.findall(r'\*\|.*?\|\*', s)
['*|FOO|*', '*|BAAAAAR|*']