解析正则的很好用的网站
. 匹配除断行外的所有字符
\. 普通的. \反义字符
\w 匹配 0-9 a-z A-Z 下划线 [0-9a-zA-Z_]
\W 小w匹配不上的
\d 匹配数字 == [0-9]
\D 匹配非数字
\s 匹配空格 tab 断行
\S 倒置
[abc] 匹配范围
[^]反义
+ 前面的出现一次或多次 ={1,}
*前面出现0次或多次 ={0,}
?0次或一次 ={0,1}
{} 重复的次数
\b 边界 单词限定
^$字符开始和结束
() 表达式 分组
贪婪 a.*b (aabababb)-> aabababb
懒惰 a.*?b (aabababb)-> aab
(pattern)
匹配 pattern 并捕获该匹配的子表达式。可以使用 $0...$9 属性从结果“匹配”集合中检索捕获的匹配。若要匹配括号字符 ( ),请使用“\(”或者“\)”。
(?:pattern)
匹配 pattern 但不捕获该匹配的子表达式,即它是一个非捕获匹配,不存储供以后使用的匹配。这对于用“或”字符 (|) 组合模式部件的情况很有用。例如,与“industry|industries”相比,“industr(?:y| ies)”是一个更加经济的表达式。
(?=pattern)
执行正向预测先行搜索的子表达式,该表达式匹配处于匹配 pattern 的字符串的起始点的字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?=95| 98| NT| 2000)”与“Windows 2000”中的“Windows”匹配,但不与“Windows 3.1”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。
(?!pattern)
执行反向预测先行搜索的子表达式,该表达式匹配不处于匹配 pattern 的字符串的起始点的搜索字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?!95| 98| NT| 2000)”与“Windows 3.1”中的“Windows”匹配,但不与“Windows 2000”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。
用正则表示千分位加逗号
js 的replace
该方法并不改变调用它的字符串本身,而只是返回一个新的替换后的字符串。
分两种情况 小数和整数
小数就匹配到以\.结尾1个或多个三位的数
然后将上图匹配到的数字 用& + ‘,’来替换 就实现了