为什么不情愿的量词 select 是下一个原子正则表达式参数?
Why does the reluctant quantifier select the next atom regexp argument?
我理解是根据正常量化和returns最小值进行选择,但我不明白为什么它定义下一个正则表达式原子的选择不贪婪。有谁知道是否存在表示不情愿量词的原始表达式(如果存在)?如果我看到我能理解的表达式,但我搜索并找到了联合使用 ?=
和 ?!
的参考,但我不知道是否是这种情况,因为我无法使用它.
如何运作(我猜):
console.log("greedy regexp example(Expected \"'blablabla' is a 'bla'\")");
console.log(("'blablabla' is a 'bla' so...").match(/'.*'/));
console.log("non-greedy regexp example(Expected \"''\" but returns \"'blablabla'\")");
console.log(("'blablabla' is a 'bla' so...").match(/'.*?'/));
*
使表达式变得贪婪
?
使表达式惰性化
在这种情况下,match(/'.*?'/)
被读作“单引号后跟任意字符 (.) 零次或多次 (*),但仅在下一个 (?) 单引号之前”
大多数正则表达式备忘单都会描述这些类型的表达式。就我个人而言,我喜欢 https://www.rexegg.com/regex-quickstart.html(状态 * 是贪婪的)
What do 'lazy' and 'greedy' mean in the context of regular expressions? 表示 *
为贪心
https://docs.oracle.com/javase/tutorial/essential/regex/quant.html 表示 *
贪婪。
我理解是根据正常量化和returns最小值进行选择,但我不明白为什么它定义下一个正则表达式原子的选择不贪婪。有谁知道是否存在表示不情愿量词的原始表达式(如果存在)?如果我看到我能理解的表达式,但我搜索并找到了联合使用 ?=
和 ?!
的参考,但我不知道是否是这种情况,因为我无法使用它.
如何运作(我猜):
console.log("greedy regexp example(Expected \"'blablabla' is a 'bla'\")");
console.log(("'blablabla' is a 'bla' so...").match(/'.*'/));
console.log("non-greedy regexp example(Expected \"''\" but returns \"'blablabla'\")");
console.log(("'blablabla' is a 'bla' so...").match(/'.*?'/));
*
使表达式变得贪婪
?
使表达式惰性化
在这种情况下,match(/'.*?'/)
被读作“单引号后跟任意字符 (.) 零次或多次 (*),但仅在下一个 (?) 单引号之前”
大多数正则表达式备忘单都会描述这些类型的表达式。就我个人而言,我喜欢 https://www.rexegg.com/regex-quickstart.html(状态 * 是贪婪的)
What do 'lazy' and 'greedy' mean in the context of regular expressions? 表示 *
为贪心
https://docs.oracle.com/javase/tutorial/essential/regex/quant.html 表示 *
贪婪。