正则表达式中的*?, +?, ??

正则表达式中的'*', '+','?'限定符都使用了“贪婪”的匹配模式;也就是说他们会匹配尽可能长的字符串。但这种模式有时候不是我们所需要的,所以就需要将“贪婪”匹配模式改为“非贪婪”;具体的做法就是在后面紧跟上一个'?'字符。

举个具体的例子:如果用正则表达式<.*>来匹配'<a> b <c>',匹配的结果将会是整个字符串,而不是'<a>';如果我们想要仅仅匹配'<a>',就需要将匹配模式改为“非贪婪”,也就是在后面加上'?'。用<.*?>匹配的结果就是'<a>'

猜你喜欢

转载自blog.csdn.net/gaishi_hero/article/details/80875175