正则表达式单词边界。

根据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/

10-12 13:14