正则表达式与“OR”条件下的两个子串匹配

时间:2018-06-12 09:24:57

标签: python-3.x

我手头的问题是我必须从给定的SQL语句中挑选出所有表名。由于所有表名都将在提供的语句中具有模式,因此我正在考虑创建像

这样的正则表达式模式
from[ ]+[a-z,1-9,_]+[.][a-z,1-9,_]+

join[ ]+[a-z,1-9,_]+[.][a-z,1-9,_]+

现在我想将两个正则表达式模式组合成“[from | join]”之类的东西。但是,[from | join]开始匹配以“m / n”开头的字符串。我试图使用命名组,但没有成功。任何帮助将不胜感激。

由于

1 个答案:

答案 0 :(得分:2)

您问题的直接答案是使用替换:

(?:from|join)[ ]+[a-z,1-9,_]+[.][a-z,1-9,_]+

您在上面提到的[from|join],并不意味着匹配fromjoin,而是意味着匹配字符类中出现的任何字符({{1} },fijmno)。