正则表达式非捕获括号问题

舒特古普塔

我有一个数据库查询,看起来像这样

select * from students join (select * from teachers) join (select * from workers

我需要基于'select'对该字符串进行标记化。我正在尝试regex (select)(.*?)((?:select)|$),它只匹配2次。请求一些有关如何实现此目标的指示。

我需要以下3个输出令牌

  • select * from students join (
  • select * from teachers) join (
  • select * from workers
戴帽子的家伙

我认为此正则表达式将起作用:

select.*?(?=select|$)

regex匹配单词select,然后匹配任何文本(不包括换行符),直到select字符串的下一个或结尾之前

这里的演示:http : //regex101.com/r/sR3gV1

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章