我想知道的是如何在RegExp对象中使用单词边界。如何在RegExp对象中使用单词边界
例如:
var reg = new RegExp("\bAB\b", "g");
这不是工作,我不能这样做:
var reg = /\bAB\b/g;
因为我稍后需要一个变量来代替AB。
我知道所有其他的事情在RegExp对象中工作,但由于某种原因,单词边界不起作用。感谢您对此问题的任何帮助。 :)
例子:http://jsfiddle.net/7Kt5A/1/
我想知道的是如何在RegExp对象中使用单词边界。如何在RegExp对象中使用单词边界
例如:
var reg = new RegExp("\bAB\b", "g");
这不是工作,我不能这样做:
var reg = /\bAB\b/g;
因为我稍后需要一个变量来代替AB。
我知道所有其他的事情在RegExp对象中工作,但由于某种原因,单词边界不起作用。感谢您对此问题的任何帮助。 :)
例子:http://jsfiddle.net/7Kt5A/1/
用反斜杠逃逸你反斜杠所以\b
不被解释为转义字符,而是作为一个文字\b
。
var reg = new RegExp("\\bAB\\b", "g");
reg.test(' AB ');
// true
reg.test('aABb');
// false
谢谢你生病了接受一次我可以,因为你是第一次:) – Shawn31313
你只需要一对额外的反斜线
var reg = new RegExp("\\bAB\\b", "g");
,因为它是一个字符串和一个反斜杠以下字符,你必须逃离反斜杠本身。
这似乎是Javascript,所以我会标记它。 – nhahtdh
OK^_ ^谢谢 – Shawn31313
''shdfkjABdsfk AB sdkfjh sdf AB“.match(/ \ bAB \ b/g)'在Developer Console(Safari)中适用于我。 – nhahtdh