【发布时间】:2011-09-02 21:07:30
【问题描述】:
所以我正在尝试编写一个正则表达式来匹配定义的字符串,然后最终匹配另一个单词。例如在字符串SELECT * FROM persons ORDER BY name ASC LIMIT 10 中我想匹配ORDER BY name ASC LIMIT。看起来应该很简单,但我一直无法弄清楚。
基本上我不在乎 ORDER BY 和 LIMIT 之间的内容,但我想在 LIMIT 处停止匹配。这是我目前所拥有的:
string pattern = @"\s*ORDER\s*BY.*LIMIT";
但它最终匹配整个 SELECT 语句,我想在 LIMIT 处停止。
提前致谢!
【问题讨论】:
-
当我运行这个正则表达式时,它运行良好......
-
如果你在一个包含多个子选择的更复杂的字符串上运行它会失败
-
基本上它不会在第一个 LIMIT 实例处停止,它会在 LIMIT 的最后一个实例处停止