如何在Python中匹配精确的“多个”字符串

我有要在给定字符串中搜索的确切模式的列表。目前,对于这种问题,我有一个非常糟糕的解决方案。

pat1 = re.compile('foo.tralingString')

mat1 = pat1.match(mystring)

pat2 = re.compile('bar.trailingString')

mat2 = pat2.match(mystring)

if mat1 or mat2:

# Do whatever

pat = re.compile('[foo|bar].tralingString')

match = pat.match(mystring) # Doesn't work

唯一的条件是我有一个要完全匹配的字符串列表。什么是Python中最好的解决方案。

编辑:搜索模式有一些常见的尾随模式。

回答:

您可以做一个琐碎的正则表达式,将两者结合起来:

pat = re.compile('foo|bar')

if pat.match(mystring):

# Do whatever

然后,您可以使用|分隔符来扩展正则表达式以执行所需的任何操作(这意味着 使用正则表达式语法)

根据您最近的编辑,这应该为您完成:

pat = re.compile('(foo|bar)\\.trailingString');

if pat.match(mystring):

# Do Whatever

[]是字符类。因此,您[foo|bar]可以将字符串与包含的字符 进行匹配(因为该类后面没有*或+或?)。 ()是子模式的附件。

以上是 如何在Python中匹配精确的“多个”字符串 的全部内容, 来源链接: utcz.com/qa/410478.html

回到顶部