正则表达式单词边界。
根据Regular_Expressions guide,\b
与单词边界匹配,例如空格,换行符,标点符号或字符串结尾。
我正在尝试更改以下字符串。
"
abc
"
至
"abc"
我确实尝试了以下方法,但是它不起作用。
有任何想法吗?
" abc ".replace(/\b/,"");
最佳答案
单词边界的描述写得不好(不幸的是,这种情况经常发生)。您会找到一个更好的参考here。
单词边界是零宽度的断言:它不消耗任何字符,仅断言条件为真。在这种情况下,它断言当前位置后跟一个单词字符,但不以一个字符开头,或者前一个单词字符,且不以一个字符后面。
如果要匹配不是单词字符的任何内容,请使用\W
(注意大写字母W
)。但是您实际上只需要匹配空白,即\s
:
" abc ".replace(/\s+/, "");
如果您尝试执行传统的修剪操作,则需要使用锚点以确保仅在字符串的开头或结尾匹配空格:
" abc ".replace(/^\s+|\s+$/, "");
关于javascript - 正则表达式词边界,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11557176/