sus*_*ani 21 javascript regex trim
我在JavaScript中寻找一个不存在的修剪函数,Googling上的一些代码建议使用:
function trimStr(str) {
return str.replace(/^\s+|\s+$/g, '');
}
Run Code Online (Sandbox Code Playgroud)
我想知道它是如何str.replace(/^\s+|\s+$/g, '')
工作的.我知道这是某种形式的正则表达,但不知道它在做什么.
Tat*_*nen 36
/^\s+|\s+$/g从字符串的开头或结尾搜索空格.表达可被分成两个部分,^\s+并且\s+$它们通过分离|(OR).第一部分从string(^)的开头开始,包含尽可能多的空白字符(\s+).第二部分使用美元符号($)反向进行,最后使用美元符号().
用简单的英语,正则表达式将如下所示:
尽可能从字符串的开头找到尽可能多的空白字符,或者从尽头找到尽可能多的空白字符.
请注意,\s匹配空格,制表符和换行符.
最后的/g部分启用全局搜索,允许多次替换(例如,不仅仅是开头,而是字符串的结尾).
^是字符串的开头,$是结束. \s表示空白字符(在JavaScript中专门表示制表符,垂直制表符,换页符,空格,非中断空格,字节顺序标记,Unicode空格分隔符(类别Z)),换行符,回车符,行分隔符或段落分隔符) ,+意思是1或更多. |是交替,两种可能性之间的选择. g是全球的旗帜.所以正则表达式意味着开头,然后是一个或多个空格,或者一个或多个空格,然后是结尾.然后,我们用空字符串替换所有匹配(因为它是全局的).
你可能对这篇博文感兴趣,它比你可能需要的更详细地分析:)各种修剪功能的优点和缺点.