使用正则表达式,我想找到一个句子中的所有匹配词,同时提取匹配词中需要的部分。你知道吗
我使用“re”模块中的API“findall”来查找匹配词,并加上括号来提取所需的部分。你知道吗
例如,我有一个字符串“0xQQ1A,0xWW2B,0xEE3C,0xQQ4C”。 我只想要“0xQQ”或“0xWW”后面的两个单词,这将产生一个列表[“1A”,“2B”,“4C”]。你知道吗
这是我的密码:
import re
MyString = "0xQQ1A, 0xWW2B, 0xEE3C, 0xQQ4C"
MySearch = re.compile("0xQQ(\w{2})|0xWW(\w{2})")
MyList = MySearch.findall(MyString)
print MyList
所以我的预期结果是[“1A”,“2B”,“4C”]。 但实际结果是[('1A','''','','','',''','',''',''')]
我想我可能用错了“()”和“|”的组合。 谢谢你的帮助!你知道吗
你可以试试这个:
result
将是:两个不同的捕获组将在输出中产生两个项目(每个匹配的项目)。你知道吗
相反,使用单个捕获组并将
|
(或)放在前面:(
(?:...)
是一个与...
匹配的非捕获组-用于将|
的效果限制为仅QQ/WW拆分,而不向输出中添加另一个捕获。)相关问题 更多 >
编程相关推荐