正则表达式:最小匹配或不匹配 [英] RegEx: Smallest possible match or nongreedy match

查看:120
本文介绍了正则表达式:最小匹配或不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何告诉RegEx(.NET版本)获得最小的有效匹配而不是最大的有效匹配?

How do I tell RegEx (.NET version) to get the smallest valid match instead of the largest?

推荐答案

对于正则表达式,如。* 。+ ,并附加问号(。*? 。+?)以匹配尽可能少的字符。要有选择地匹配(?: blah)?但没有匹配,除非绝对必要,请使用(?: blah){0,1} ?。对于重复匹配(使用 {n,} {n,m} 语法),请在以下位置附加问号尝试尽可能少地匹配(例如 {3,}? {5,7}?)。

For a regular expression like .* or .+, append a question mark (.*? or .+?) to match as few characters as possible. To optionally match a section (?:blah)? but without matching unless absolutely necessary, use something like (?:blah){0,1}?. For a repeating match (either using {n,} or {n,m} syntax) append a question mark to try to match as few as possible (e.g. {3,}? or {5,7}?).

正则表达式量词也可能会有所帮助。

这篇关于正则表达式:最小匹配或不匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆