我在Chrome(开发人员工具)和Firefox(Firebug)中都有这种行为.请注意,正则表达式测试返回交替的true/false值:
> var re = /.*?\bbl.*\bgr.*/gi;
undefined
> re
/.*?\\bbl.*\\bgr.*/gi
> re.test("Blue-Green");
true
> re.test("Blue-Green");
false
> re.test("Blue-Green");
true
> re.test("Blue-Green");
false
Run Code Online (Sandbox Code Playgroud)
但是,测试相同的正则表达式作为文字:
> /.*?\bbl.*\bgr.*/gi.test("Blue-Green");
true
> /.*?\bbl.*\bgr.*/gi.test("Blue-Green");
true
> /.*?\bbl.*\bgr.*/gi.test("Blue-Green");
true
> /.*?\bbl.*\bgr.*/gi.test("Blue-Green");
true
Run Code Online (Sandbox Code Playgroud)
我无法解释这一点,它使调试变得非常困难.谁能解释这种行为?
| 归档时间: |
|
| 查看次数: |
1259 次 |
| 最近记录: |