首页 > 技术文章 > str.replace(/(^s*)|(s*)$/g,"");的意思解读

djlxs 原文

大家可能在平时经常看见这句代码,也知道它的意思是用来去除字符串首尾的空格的,可是每次要你自己来写的时候却又无从下笔 ,尤其是碰上笔试时,那种心情就好比,自己煮熟的鸭子被别人吃了,啊哈哈,开始正题吧!

其实我的正则也是连入门级都还不算,不过还是得记下来啊!

^ 表示以什么开头

s 代表匹配一些空白符     包括:空格、Tab、换行、回车,等价于 [ ]

*表示有一个或者多个

| 表示或者

$ 代表以什么结尾

当然还有这种写法:str.replace(/^s*(.*?)[s ]*$/g, '$1')

其中"."  表示: 匹配除 以外的任何字符

后面的$1表示捕获(.*?)中的内容,至于为什么是$1,这是根据捕获顺序来的,第一个括号中的为$1,捕获第二个括号中的内容则要$2,其他依次内推。

可以参考这篇博文:http://beinet.cn/Blog/BlogShow.aspx?id=8fe6311d-ea7b-4e81-9fa1-465b593c82c1

当然学习正则的话这个网站也可以:http://c.biancheng.net/cpp/html/1431.html

正则调试工具:https://regexper.com/

当然这里还有常用的正则代码:http://mp.weixin.qq.com/s?__biz=MjM5MDI5MjAyMA==&mid=401412823&idx=2&sn=74372b22f804e941ae2ade97360790c2&scene=23&srcid=1221WqiK1PAtiuXRmIBJsg7i#rd

好了就这么多了!

推荐阅读