正则表达式的引擎是贪婪,只要模式允许,它将匹配尽可能多的字符。
如何匹配满足条件的最短字符?通过在“重复描述字符”(如*,如+)后面添加“?”,可以将匹配模式改成非贪婪。
示例:
在以下的字符串中,我希望能够匹配html的标记符号<span class="ssens">和紧随其后的第一个</span>中的内容。
结果:
如果使用 regexString,匹配结果是“<span> <span class="ssens">an islander</span> is always living in an
island </span>”。
如果使用 regexStringNonGreedy,匹配结果是“<span> <span class="ssens">an islander</span>”。