如何检查字符串是否与 Python 中的设定模式匹配?

2024-02-29

我想将字符串与特定模式或单词集匹配,如下所示:

the apple is red是查询并且the apple|orange|grape is red|orange|violet是要匹配的模式。 这些管道代表可以相互替换的单词。该模式也可以分组为[launch app]|[start program]。当然,我希望模块返回 True 或 False,无论查询是否与模式匹配。

如果还没有库可以做到这一点,那么实现此目的的最佳方法是什么?如果这可以通过简单的正则表达式来完成,那就太好了;但是我对正则表达式几乎一无所知。我正在使用Python 2.7.11


import re

string = 'the apple is red'

re.search(r'^the (apple|orange|grape) is (red|orange|violet)', string)

这是它运行的示例:

In [20]: re.search(r'^the (apple|orange|grape) is (red|orange|violet)', string). groups()
Out[20]: ('apple', 'red')

如果没有匹配项那么re.search()不会返回任何内容。

您可能“对正则表达式几乎一无所知”,但您几乎编写了该模式。

括号内的部分也可以有自己的正则表达式模式。所以你可以将“apple”和“apples”与

r'the (apple[s]*|orange|grape)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何检查字符串是否与 Python 中的设定模式匹配? 的相关文章

随机推荐