Python RegEx差异与Kodos和RegExr:不能过滤Python中的特定字符

时间:2010-01-19 11:08:13

标签: python regex

我正在使用Python 2.6.3。当我这样做时:

import re, urllib
f = urllib.urlopen(website)
z = f.read()
a = re.findall(r'(\b\d*\SLegos\b)[^\\/bLegos\b]', z)
print a

我明白了:

['/Legos', '/Legos', '525Legos', '53Legos', '11Legos', '8Legos', '10Legos', '2Legos', '0Legos', '0Legos', '0Legos', '0Legos', '9Legos', '1Legos', '0Legos', '0Legos', '0Legos', '/Legos']

如果我将网站作为源代码放入gSkinner的Kodos或RegExr并使用我上面的RegEx代码,他们都说我应该得到:

'525Legos', '53Legos', '11Legos', '8Legos', '10Legos', '2Legos', '0Legos', '0Legos', '0Legos', '0Legos', '9Legos', '1Legos', '0Legos', '0Legos', '0Legos'

这更接近我想要的数据。

如何放弃'/Legos'在我的Python正则表达式中返回?

谢谢,

阿德里安

1 个答案:

答案 0 :(得分:3)

你的正则表达式太复杂和错误,你可以使用:

\b(\d+Legos)\b

如果你的输出中真的不需要Legos,你当然可以简单地将它移出括号:

\b(\d+)Legos\b