我有
var string1 = 'asdgghjajakhakhdsadsafdgawerwweadf';
var string2 = 'a';
string1.match("\/"+string2+"\/g").length;
Run Code Online (Sandbox Code Playgroud)
所以有了这个,我想找到一个a的吸引力,但它不是wirking,我怎么能把变量wright?
use*_*716 53
您需要使用RegExp构造函数而不是正则表达式文字.
var string = 'asdgghjjkhkh';
var string2 = 'a';
var regex = new RegExp( string2, 'g' );
string.match(regex);
Run Code Online (Sandbox Code Playgroud)
如果你不需要全局修饰符,那么你可以通过string2,并.match()为你创建正则表达式.
string.match( string2 );
Run Code Online (Sandbox Code Playgroud)
如果您只是想检查一个字符串是否包含另一个字符串,那么最好的选择就是不使用正match()则表达式。
您可能会反对:但我需要一个正则表达式来检查类,例如\s定义复杂的模式等。
在这种情况下:您将需要进一步更改语法,对类进行双重转义并删除开始/结束正则/表达式指示符号。
想象一下这个正则表达式...
someString.match(/\bcool|tubular\b);
Run Code Online (Sandbox Code Playgroud)
当使用 new 时,与此完全等效的new RegExp()是......
someStringRegex = new RegExp('\\bcool|tubular\\b');
Run Code Online (Sandbox Code Playgroud)
在这个转变过程中发生了两件事:
/(否则,您的正则表达式将失败)。\b“become” \\b、用于空白的\w“becomes \\w”等(否则,您的正则表达式将失败)。| 归档时间: |
|
| 查看次数: |
31926 次 |
| 最近记录: |