我有一个巨大的文件,上面有一个数据列表:
#fabulous 7.526 2301 2
#excellent 7.247 2612 3
#superb 7.199 1660 2
#perfection 7.099 3004 4
#terrific 6.922 629 1
我有一个文件,里面有这样的句子:
^{pr2}$我想用regex检查以下内容:
如果每个句子中的第一个单词与文件中的任何单词匹配 例如,如果太棒了,它的,伊朗语,with是否出现在文件中
如果句子中的最后一个单词与文件中的任何单词匹配 例如,如果星期六,难以置信,导弹,波兰出现在文件中或不
如果句子中单个单词的2个或3个字符的前缀和后缀与文件中的2个或3个字符的前缀和后缀匹配 或者,如果Ira和3的前缀不匹配。后缀也是一样。
我对regex太陌生了,我可以这样想,但没有得到结果: term2.lower()是文件中的第一列
wordanalysis["trail"] = found if re.match(sentence[-1],term2.lower()) else not(found)
wordanalysis["lead"] = found if re.match(sentence[0],term2.lower()) else not(found)
更新:根据@justhalf的建议,不需要使用regex来拆分单词。如果需要区分大小写的匹配,请删除
.lower()
。在这将匹配数据列表中的第一个单词和最后一个单词(不包括任何标点符号或尾随空格):
(^\s?\w+\b|(\b\w+)[\.?!\s]*$)
匹配:
实施:
^{pr2}$这可能不是最优雅的方式,但你明白了。在
代码经过测试并正常工作,输出为:
同时这并不能满足您的第三个标准,请测试一下,看看它是否对您有效。在
相关问题 更多 >
编程相关推荐