我想从 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|$),我得到相同的错误答案。
我想知道我使用时是否有匹配的顺序|?我应该怎么做?