阅读此Question之后我试图使用此正则表达式
/(小于![^>] +>)+ /克
喜欢这个
var regex = /(!<[^>]+>)+/g;
new RegExp('myString', regex)
但我得到
Uncaught SyntaxError:提供给RegExp构造函数的无效标志 &#39; /(小于![^&GT;] +&GT;)+ /克&#39;
有人知道如何使用它吗?
答案 0 :(得分:1)
new Regexp
。
很糟糕,你几乎不应该使用它。 (例外情况是动态生成正则表达式时)。
您不需要使用它:您使用前一行的正则表达式文字创建了对象。
要将正则表达式应用于字符串,请使用match
方法:
var regex = /(!<[^>]+>)+/g;
console.log("myString".match(regex));
console.log("Trivial !<tag> example".match(regex));
console.log("!<tag attribute='>>>'> example".match(regex));
答案 1 :(得分:0)
RegExp
用于从字符串
第二个属性应该是i
,g
,m
等标记,但您自己会给出正则表达式。
RegExp
的语法是RegExp(regexString,flags)
但你正在使用
var regex = /(!<[^>]+>)+/g;
new RegExp('myString', regex)
^^^^^^
您无法使用RegExp
函数来测试字符串。
如果您想针对正则表达式检查'myString'
,请使用regex.test('myString')
如果您想在'myString'
中找到正则表达式的所有匹配项,请使用'myString'.match(regex)