【发布时间】:2019-08-13 09:06:47
【问题描述】:
我正在尝试查找数字,而不是某些单词。我在 Python3 中使用正则表达式来做到这一点。我的猜测是必须使用负面的环视,但由于可选的空格,我正在苦苦挣扎。请参阅以下示例:
'200 word1 some 50 foo and 5foo 30word2'
请注意,实际上 word1 和 word2 可以被许多不同的词替换,这使得在这些词上搜索正匹配变得更加困难。因此,排除foo 成功的数字会更容易。预期结果是:
[200, 30]
我的尝试:
s = '200 foo some 50 bar and 5bar 30foo
pattern = r"[0-9]+\s?(?!foo)"
re.findall(pattern, s)
结果
['200', '50 ', '5', '3']
【问题讨论】:
标签: regex python-3.x regex-lookarounds