我需要正则表达式来替换文本中的单词而不是单词的一部分.
我的代码替换'de'也是它的一部分:
str="de degree deep de";
output=str.replace(new RegExp('de','g'),'');
output==" gree ep "
Run Code Online (Sandbox Code Playgroud)
我需要的输出: " degree deep "
什么应该是正则表达式获得适当的输出?
Tom*_*lak 19
str.replace(/\bde\b/g, '');
Run Code Online (Sandbox Code Playgroud)
注意
RegExp('\\bde\\b','g') // regex object constructor (takes a string as input)
Run Code Online (Sandbox Code Playgroud)
和
/\bde\b/g // regex literal notation, does not require \ escaping
Run Code Online (Sandbox Code Playgroud)
是一回事.
在\b
表示"单词边界".单词边界被定义为单词字符跟随非单词字符的位置,反之亦然.单词字符[a-zA-Z0-9_]
在JavaScript中定义.
启动的字符串和结束串,因为它们分别被随后或由字字符之前,位置可以字边界以及,只要.
请注意,在英语领域之外,单词字符的概念不能很好地发挥作用.
归档时间: |
|
查看次数: |
24247 次 |
最近记录: |