正则表达式:最小匹配或不匹配 [英] RegEx: Smallest possible match or nongreedy match
本文介绍了正则表达式:最小匹配或不匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何告诉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屋!
查看全文