【发布时间】:2018-04-08 00:02:30
【问题描述】:
为什么这个正则表达式不能正常工作?
new RegExp(/[a-z\d]/g).test('5');
结果有时为真,有时为假。 它不断在真/假之间切换
var regx = new RegExp(/[a-z\d]/g);
console.log(regx.test('5')) // true
console.log(regx.test('5')) // false
console.log(regx.test('5')) // true
console.log(regx.test('5')) // false
【问题讨论】:
-
有时我认为 Javascript 是微软发明的(但公平地说,他们实际上开发了 Typescript,这很棒)
-
正则表达式使用
g修饰符是有状态的 -
match没有状态 -
@bm_i 这种行为的用例是什么?