标签: regex
以下两种表达方式有什么区别? 1. (\S+) 2. (\S+?)
(\S+)
(\S+?)
如果有人能解释一下,我将不胜感激。
谢谢,
答案 0 :(得分:0)
第一种方式匹配一个非空白字符的单个字符,在一次和无限次之间,尽可能多次,根据需要返回(贪婪)
第二种方式匹配一个非空白字符的单个字符,在一次和无限次之间,尽可能少,根据需要进行扩展(懒惰)
区别在于贪婪或懒惰的重复。来自Regex Buddy帮助文件:
贪婪的量词将首先尝试尽可能多地重复令牌,并逐渐放弃匹配,因为引擎回溯以找到整体匹配。延迟量词将首先根据需要重复令牌次数,并在引擎回溯到正则表达式以找到整体匹配时逐渐扩展匹配。
差异可以在下面的图片中看到: