我仍然在学习Python和正则表达式的诀窍,我需要一些帮助,请! 我需要一个正则表达式,它可以在一个句子中搜索特定的单词。 我已经创建了一个模式来搜索一个单词,但是如何检索我需要查找的其他单词呢? 重新设计的模式会是什么样子?
>>> question = "the total number of staff in 30?"
>>> re_pattern = r'\btotal.*?\b'
>>> m = re.findall(re_pattern, question)
['total']
它必须查找单词“total”和“staff” 谢谢 迈克
使用union运算符
|
搜索需要查找的所有单词:这与上面的例子最为吻合。但是,这种方法只在没有其他字符被添加到单词的前面或后面时才有效。这种情况经常出现在主句和从句的末尾,在主句和从句的最后一个字后面加上逗号、点、感叹号或问号。
例如,在这个问题上,你的员工有多少人?上述方法找不到单词staff,因为在staff结尾没有单词边界。相反,这里有一个问号。但是如果在正则表达式的末尾省略第二个
\b
,则表达式将错误地检测子字符串中的单词,例如totalintotal或totalities。最好的方法是先提取句子中的所有字母数字字符,然后在此列表中搜索需要查找的单词:
你想不想用Regex以外的东西?
考虑一下,如果它有效,就从这个解决方案中展开
类似地
相关问题 更多 >
编程相关推荐