为什么我需要在正则表达式中使用[和]而不是(和)?

时间:2019-04-05 18:57:06

标签: python regex

我想使用Python中的re包在大数据集中搜索某些文本。也许我出了点问题,但是如果我使用

(\w+,\s?)+ 

我会为以下项目找到一个匹配项:

This, is, a, test,

为什么在Python中不是这种情况?

以下示例仅适用于[]而不是()

str = 'St. aureus°, unimportant_stuff, Strep. haemol.°'

will_fail = re.compile(r'(\w+\.?\s?)+°')
success = re.compile(r'[\w+\.?\s?]+°')

print(will_fail.findall(str))
print(success.findall(str))

这将导致输出:

['aureus', 'haemol.']             // THIS IS FAIL
['St. aureus°', 'Strep haemol.°'] // THIS IS OK

我在这里做什么错了?

0 个答案:

没有答案