Word boundary won't match the beginning or end in Javascript

对着背影说爱祢 提交于 2019-12-19 17:44:36

问题


I'm getting unexpected results with this code:

'foo'.match(new RegExp('\bfoo\b')); // Returns null

Why is this returning null while this one returns "foo"?

'foo'.match(new RegExp('foo')); // Returns "foo"

Doesn't a word boundary marker match the beginning and end as well?

EDIT: I need the regular expression itself to be a string because I am injecting variables into it.


回答1:


Escape the backslashes

'foo'.match(new RegExp('\\bfoo\\b'));



回答2:


Don't wrap it in quotes... instead, do this:-

'foo'.match(new RegExp(/\bfoo\b/))


来源:https://stackoverflow.com/questions/5024623/word-boundary-wont-match-the-beginning-or-end-in-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!