Python RegEx文本斜杠转义

时间:2016-10-17 11:07:37

标签: python regex

我为这个语无伦次的标题道歉,但在这种情况下很难想出一个。

我有一堆文本,(几乎)总是以这样的方式开始:

Word (Foo) - Main Text

或者这个:

Word (Foo/Bar) - Main Text

我想删除Main Text之前的所有内容,但似乎/字符搞乱了我的正则表达式。

到目前为止,我有这个:re.search('^[^)]*/*\)(.*)$', my_text)

我已在regex101网站上对其进行了测试,它应该适用于两个实例(无论是否有/)但是,当我将其插入我的Python代码时,它会返回{{ 1}}遇到NoneType时。我错过了什么?

1 个答案:

答案 0 :(得分:2)

执行:

^[^-]*-\s*(.*)

现在只有被捕获的小组才是你想要的部分。

  • ^[^-]*首先将子字符串匹配到-

  • -匹配文字-\s*匹配零个或多个空格

  • 唯一捕获的组(.*)匹配字符串的其余部分

示例:

In [10]: s = 'Word (Foo/Bar) - Main Text'

In [11]: re.search(r'^[^-]*-\s*(.*)', s).group(1)
Out[11]: 'Main Text'