在工作中有时会使用到一些正则表达式,在这里记录下,这东西用了一会就忘了。
正则表达式学习网站 http://www.jb51.net/tools/zhengze.html#contact
备注
(1)在正则表达式中通常会看到如【/regexp/ig】,这样的东西。这里的【i】表示忽略大小写,【g】表示匹配全部
正文
1.数值字符转换成千分位
首先分析,千分位是从右边开始每3个数字加一个【,】号,也就是说需要找到这样一种匹配,
它后面出现数字以3个为一组(可以有一组或多组,且是刚好分完组的,不能多余任何数字)
通过上面的分析得到这个表达式 (\d{1,3})【这是希望得到的匹配,它的组序号为$1】(?=(\d{3})+(?!\d)) 【以3个数字为一组,且能刚好分完,没有多余的数字】
在JS可以这样使用:'1234567'.replace(/(\d{1,3})(?=(\d{3})+(?!\d))/ig,'$1,')
如果是有小数的话:'1234567.11'.replace(/(\d{1,3})(?=(\d{3})+(\.))/ig,'$1,')
同理像这种需要在一个字符串中某些长度加一些符号的使用都可以使用这种方式
2.去除字符串的左右2端的空格
分析,左端的空格为字符串开始【^】后面接空字符【\s*】,所以得到左端的为【^\s*】
右端的空格为字符串结束【$】前面接空字符【\s*】,所以得到左端的为【\s*$】
所以的到结果为:' gg '.replace(/(^\s*)|(\s*$)/g,'')