Javascript Regex作为字符串不工作
Javascript Regex as a string not working
我试图理解为什么写regex作为字符串不工作,但使用它没有字符串的工作
这是我的例子:
var patt = new RegExp("/test_.*/gi");
var res = patt.test("test_4");
console.log(res);
将返回false
但这:
var patt = /test_.*/gi;
var res = patt.test("test_4");
console.log(res);
将返回true
您的RegExp
语法错误。
- 当您使用
RegExp
构造器创建新的正则表达式时,不需要分隔符。 标志应该作为第二个参数传递给 - 和
.
应该转义,如果你想匹配.
文字。
RegExp
构造函数。var patt = new RegExp("test_.*", "gi");
var patt = new RegExp("test_.*", "gi");
var res = patt.test("test_4");
document.write(res);
regexp构造函数不需要分隔符,而且,标志在另一个参数中被隔离,从而简化为
var patt = new RegExp('test_.*', 'gi');
var res = patt.test("test_4");
console.log(res);
在使用构造函数时,不需要在正则表达式的开始和结束处包含/
,并且标志需要在第二个参数中。关于RegExp,请参见MDN文档。
var patt = new RegExp( "test_.*", "gi" );
var res = patt.test("test_4");
console.log(res);
您没有正确调用构造函数,应该将错误作为第二个参数传递:
new RegExp('test_.*', 'gi');
在Documentation中可以看到,它应该尊重这种格式:
new RegExp(pattern[, flags])
这是你的演示:
var patt = new RegExp("test_.*", 'gi');
var res = patt.test("test_4");
alert(res);
相关文章:
- 为什么不是'当试图使用Ajax和外部PHP文件发布内容时,我的表单工作不正常,该文件接收两个字符串
- RegExp在parens中捕获字符串时未按预期工作
- 字符串替换不'当通过android webView JavascriptInterface传递字符串时无法工作
- JavaScript如何面对字符串数字工作
- 如何正确创建带有“Url.Action”的查询字符串的网址,以便它在Firefox中工作
- JavaScript 警报函数如何在 Web 浏览器上的 java 字符串变量中工作
- 字符串包在 Firefox 25 中的工作方式不同
- 阻止某些链接(包含某些字符串的 href)工作
- 没有字符串的JavaScript concat函数无法正常工作
- JavaScript中的字符串替换无法正常工作
- JavaScript onclick 函数在参数为整数而不是字符串时工作
- Javascript:将字符串视为数组在本地工作,但不部署在IE中
- 如何通过 webhook 将 json 格式的字符串作为有效负载传递给 iron.io 工作线程
- 如何让多个元素与jQuerys一起工作 没有.冲突();字符串
- 用于将值从复选框传递到查询字符串的 JavaScript 无法正常工作
- 如何从字符串创建 Web 工作线程
- 符号:隐式字符串转换如何在 JavaScript 中工作
- 为什么对于可被10整除的数字,字符串到int之间的转换不能像预期的那样工作
- Selenium分割日期字符串的工作示例
- 如果请求的字符串包含引号,为什么encodeURIComponent不工作