正则表达式需要选择多于一个,但它不起作用

时间:2014-08-10 10:10:00

标签: regex

如果我有这个文本

  

SELECT 1 FROM users WHERE id =>' / [0-9] /'< AND u =>' / [a-z] /'<

我应该得到结果:

[1] => /[0-9]/
[2] => /[a-z]/

所以,我有这个正则表达式;

\>(.+)\<

但现在它选择:

'/[0-9]/'< AND u = >'/[a-z]/'<

为什么?!?!?我用&lt;结束字符串那应该结束了吗?

1 个答案:

答案 0 :(得分:1)

使用Reluctant quantifiers来使用懒惰而不是贪婪。

>(.+?)<

.+贪婪量词以贪婪的方式看起来尽可能匹配。

这是demo

注意:我认为无需转义><


另外,您也可以尝试使用Possessive Quantifiers

>([^<]*+)<

这是demo

更好地使用第二种选择。 Want to Be Lazy? Think Twice.