所以我的数据格式如下:
<Category: XXX -
或
<Category: XXX</b>
我只想保留'xxx',但仍然可以保留('XXX','')或('')或其他不想要的变体。
我不想使用美味的汤,我在使用我的anaconda包管理器下载时遇到了麻烦
已添加 - 我的尝试
'Category: ([^<]+)</b'
会在
时产生['xxx']<Category: XXX</b>
'Category: ([^<]+) &n'
会在
时产生['xxx']<Category: XXX
我想我做了类似
的事情'Category: ([^<]+)(</b| &n)'
产生了
[('XXX', '</b')]
或
[('XXX', ' &nb')]
答案 0 :(得分:1)
>>> import re
>>> re.match('<Category:\s(\w+)', "<Category: XXX</b>").group(1)
'XXX'
>>> re.match('<Category:\s(\w+)', "<Category: XXX - ").group(1)
'XXX'
或使用findall
:
>>> import re
>>> re.findall('<Category:\s(\w+)', "<Category: XXX - ")[0]
'XXX'
>>> re.findall('<Category:\s(\w+)', "<Category: XXX</b>")[0]
'XXX'
\s
匹配任何空格字符。 \w
匹配任何非字母数字字符;这相当于集合[^a-zA-Z0-9_]
。 \w+
匹配一个或多个非字母数字字符。(...)
是一个捕获组:匹配括号内的正则表达式,和 表示组的开始和结束;一组的内容可以 在比赛结束后检索
有关详细信息,请参阅documentation。