我有一个字符串:string-a
我正在尝试将此字符串与以下正则表达式匹配:string-\w{1,2}
。我希望以“string-aa”的形式匹配任何内容,其中'aa'可以是任何字母或数字中的一个或两个。
但是在控制台中运行'string-a'.match('string-\w{1,2}');
会返回null
。为什么会这样?如果我在Debuggex之类的调试工具中运行它,它的工作原理非常好。
我不确定我是否理解如何使用\ w。任何帮助将不胜感激!
答案 0 :(得分:5)
您正在匹配文本而不是正则表达式。你应该把它改成:
'string-a'.match(/string-(\w{1,2})/);
答案 1 :(得分:-1)
要使'string-a'.match('string-\w{1,2}');
在控制台中工作,您需要转义\
。
所以试试,
'string-a'.match('string-\\w{1,2}');
它会起作用。
正如您所期望的那样使用\w
,它与单词字符匹配。