相关疑难解决方法(0)

为什么带有全局标志的RegExp会产生错误的结果?

当我使用全局标志和不区分大小写的标志时,这个正则表达式有什么问题?查询是用户生成的输入.结果应该是[true,true].

var query = 'Foo B';
var re = new RegExp(query, 'gi');
var result = [];
result.push(re.test('Foo Bar'));
result.push(re.test('Foo Bar'));
// result will be [true, false]
Run Code Online (Sandbox Code Playgroud)

var reg = /^a$/g;
for(i = 0; i++ < 10;)
   console.log(reg.test("a"));
Run Code Online (Sandbox Code Playgroud)

javascript regex

254
推荐指数
4
解决办法
4万
查看次数

/ regex/Literals总是RegExp对象吗?

基本上,我的问题是关于Javascript如何处理正则表达式文字.

与数字,字符串和布尔形成对比,其中文字是原始数据类型,对应的数字,字符串和布尔对象存在无缝类型转换,是正则表达式文字的RegExp对象的匿名实例,或者这是正则表达式被视为原始数据与无缝的情况类型转换为RegExp?

"完整的参考Javascript,第2版,Powell和Schneider(MH)"自相矛盾 - 在一个地方,作者说/ regex /会在需要时被自动转换为RegExp,在另一个地方他们说/ regex /只是一个RegExp的实例!

编辑:请提供可靠来源的参考

javascript

9
推荐指数
2
解决办法
1735
查看次数

标签 统计

javascript ×2

regex ×1