我问了这里一个关于js、regex、量词和全局搜索的问题。我终于明白了这是怎么回事,但是,让我们以一个具体的例子,然后我将写我的问题。
基于同样的例子
var str = 'ddd';
var r = /d*/g;
console.log(str.match(r))它输出这个数组:["ddd", ""]
我理解数组中的第一项是因为它匹配字母d,而最后一项(那个空字符串)是因为它匹配字符串的末尾,这不是什么,所以*有意义,因为它匹配0或更多的事件.
所以,我的问题是:
在我看来,不应该查询字符串的末尾(Ddd);因为它不像我的字符串在'ddd‘末尾包含一个空空间。如果我的字符串是空的,那么匹配是合乎逻辑的,但在这种情况下则不是。我的逻辑是:
对于字符串中的每个字符,这个搜索/regex (d*) ...so为什么只在字符串的末尾继续呢?它应该停止在我的字符串的最后一个字符,在本例中是d.
https://softwareengineering.stackexchange.com/questions/291273
复制相似问题