Regex 正则表达式与?

Regex 正则表达式与?,regex,Regex,我正在学习戴哈德威的 一个匹配标准是[A-Za-z]+ 作者解释说,通过添加?,该匹配条件将是非贪婪的 然而,我认为以下两个是等价的。如果我使用它来解析字符串,它不应该总是生成相同的输出吗 [A-Za-z]+ [A-Za-z]+ 我说得对吗?事实上,不,它们不一样。如果包含?,它将匹配尽可能少的字符。下面是一个例子: 变量字符串='abcdefg'; alertstring.match/[A-Za-z]+/\s匹配任何空格字符,\s匹配任何非空格字符。如果将字符放在括号之间,它会告诉浏览器匹配

我正在学习戴哈德威的

一个匹配标准是[A-Za-z]+

作者解释说,通过添加?,该匹配条件将是非贪婪的

然而,我认为以下两个是等价的。如果我使用它来解析字符串,它不应该总是生成相同的输出吗

[A-Za-z]+

[A-Za-z]+


我说得对吗?

事实上,不,它们不一样。如果包含?,它将匹配尽可能少的字符。下面是一个例子:

变量字符串='abcdefg'; alertstring.match/[A-Za-z]+/\s匹配任何空格字符,\s匹配任何非空格字符。如果将字符放在括号之间,它会告诉浏览器匹配括号之间的任何字符。因此,本质上,[\s\s]匹配任何字符。