Python中从字符串列表提取含字母和数字的混合单词方法
提取同时包含字母和数字的单词
针对你给出的字符串列表,要提取其中同时包含字母和数字的单词,用Python结合正则表达式就能轻松解决。
先看具体实现代码:
import re # 你的输入列表 d = ["his car number is ka99ap9999", "bike that met with accident is kl8ar888"] matched_words = [] # 遍历每个字符串 for sentence in d: # 正则匹配符合条件的单词 # 规则:必须同时包含至少一个字母和一个数字的完整单词 words = re.findall(r'\b(?=\w*\d)(?=\w*[a-zA-Z])\w+\b', sentence) matched_words.extend(words) # 输出结果 print(", ".join(matched_words)) # 运行后会输出:ka99ap9999, kl8ar888
正则表达式说明:
\b:匹配单词边界,保证我们提取的是完整的单词,不会是某个长单词的一部分(?=\w*\d):正向预检查,确保目标单词里至少包含一个数字(?=\w*[a-zA-Z]):另一个正向预检查,确保目标单词里至少包含一个字母\w+:匹配一个或多个字母、数字或下划线(如果你的场景里单词不会包含下划线,也可以换成[a-zA-Z0-9]+来更精准匹配)
如果你的需求有调整,比如单词里可能包含特殊字符,只需要稍微修改正则的匹配范围就可以啦。
内容的提问来源于stack exchange,提问作者Chaitu
相关产品推荐
相关产品推荐

