我想从 sql 中获取表名(例如:)select name from user where id>5
。
我尝试使用正则表达式,我的模式是from\s+(.*)(\s*$|where)
当sql不包含'where'时,没关系。但如果 sql 包含 'where',我会得到 'user where id>5' 作为答案。
因为 sql 可能没有 'where',所以我使用$
,但(.*)(\s*$)
几乎可以匹配所有内容,我尝试使用 this from\s+(.*)(\s*where|$)
,我得到相同的错误答案。
我想知道我使用时是否有匹配的顺序|
?我应该怎么做?