用javascript正则表达式

Wor*_*php 9 javascript regex

我在java脚本中有以下代码

    var regexp = /\$[A-Z]+[0-9]+/g;
    for (var i = 0; i < 6; i++) {
        if (regexp.test("$A1")) {
            console.log("Matched");
        }
        else {
            console.log("Unmatched");
        }
    }
Run Code Online (Sandbox Code Playgroud)

请在浏览器控制台上运行它.它将打印替代匹配不匹配.任何人都可以说出原因.

Hao*_*eng 4

test调用字符串后,lastIndex指针将在匹配后设置。

Before:
$A1
^

After:
$A1
   ^
Run Code Online (Sandbox Code Playgroud)

当到达末尾时,指针将重置到字符串的开头。

你可以尝试'$A1$A1',结果将是

Matched
Matched
Unmatched
...
Run Code Online (Sandbox Code Playgroud)

此行为在ECMAScript 语言规范15.10.6.2 中定义。

步骤 11. 如果 global 为 true,则 lastIndex使用参数“ ”、e 和 true调用 R 的 [[Put]] 内部方法。