我手头的问题是我必须从给定的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”开头的字符串。我试图使用命名组,但没有成功。任何帮助将不胜感激。
由于
答案 0 :(得分:2)
您问题的直接答案是使用替换:
(?:from|join)[ ]+[a-z,1-9,_]+[.][a-z,1-9,_]+
您在上面提到的[from|join]
,并不意味着匹配from
或join
,而是意味着匹配字符类中出现的任何字符({{1} },f
,i
,j
,m
,n
,o
)。