Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript RexExp(?=)结构_Javascript_Regex - Fatal编程技术网

Javascript RexExp(?=)结构

Javascript RexExp(?=)结构,javascript,regex,Javascript,Regex,假设您正在搜索在Bs之后出现的Cs。 为什么以下代码返回-1而不是2: console.log('abc'.search(/(?=b)c/)); 因为 q?=u匹配一个后跟u的q,而不使u成为匹配的一部分 在你问之前:。但是,在这种简单的情况下,您可以使用基于前瞻的解决方案: var index = 'abc'.search(/b(?=c)/); if (index !== -1) index++; console.log(index); 这是有效的,因为您正在查找前跟b的位置c,但逻辑上这

假设您正在搜索在Bs之后出现的Cs。 为什么以下代码返回-1而不是2:

console.log('abc'.search(/(?=b)c/));
因为

q?=u匹配一个后跟u的q,而不使u成为匹配的一部分

在你问之前:。但是,在这种简单的情况下,您可以使用基于前瞻的解决方案:

var index = 'abc'.search(/b(?=c)/);
if (index !== -1) index++;
console.log(index);
这是有效的,因为您正在查找前跟b的位置c,但逻辑上这与大于后跟c的位置b的位置相同

然而,在你太激动之前:你不需要正则表达式。一点也不

var index = 'abc'.indexOf('bc');
if (index !== -1) index++;
console.log(index);