正则表达式匹配空间正向斜线和空间' /'

时间:2016-10-07 19:37:48

标签: python regex pandas

这是我的字符串'某事/其他事情' 我想与正则表达式匹配,直到/,即空间正向斜线空间。这是我尝试的/.+?(?=\s//\s)/,但它不起作用。它说:'模式不包含捕获组'。我正在使用它与熊猫提取功能。

2 个答案:

答案 0 :(得分:3)

不确定我是否完全理解您的要求,但这应该可以解决问题:

(.*?)(?= \/ )

Try it here

如果*之前必须至少有一个字符,则可以将+替换为/

您的代码存在的问题是pd.Series.str.extract期望"正则表达式模式与捕获组。"你的正则表达式包括一个正向前瞻(?=),但没有一个被捕获的组(括号之间的东西)。如果您在示例中用括号括起.+?,它应该有效,但请注意\s捕获任何空格,而不仅仅是空格。

答案 1 :(得分:2)

执行:

r'^([^/]+) / '
  • ^([^/]+)匹配/的所有内容,然后/匹配一个空格,然后匹配/,然后再匹配一个空格。因此,捕获的组1将只有/
  • 之前的空间部分

示例:

>>> import re
>>> s = 'something / something else'
>>> re.search(r'^([^/]+) / ', s).group(1)
'something'