正则表达式的介绍:
常用规则
- [a-z],任何含在[]中的内容都是一个字符,只匹配一个字符.
 如:- [a-zA-Z]代表任意大小写字母.
- [^a-z].匹配任何不属于a-z中的字符.
- [a-z&&[hij]]匹配hij任何一个(交集)
- \s匹配空字符(空格,tab,\n,换页,回车)
- \S匹配非空字符(和[^\s]一样)
- \d匹配数字,相当于[0-9]
- \D匹配非数字,相当于[^0-9],匹配中文,空格,换行符
- \w匹配词字符,相当于[a-zA-Z0-9],不包含中文,不能代表空格,换行符
- \W匹配非词字符,相当于[^\w],匹配一个中文字
逻辑运算符:
- |:管道符.如:- x|y表示- x或y
- ():捕获组.- (abc)|(xyz)表示- abc或xyz
- 边界匹配符:- ^:从头匹配
- $:从尾匹配
- \b:词界.
- \B:非词界
 
- 量词:描述一个模式吸收输入文本的方式.- *:前面字符或组匹配0或多个
- +:前面字符或组匹配1或多个
- ?:前面字符或组匹配0或1个
- {n}:前面字符或组的数量为n个
- {n,}:前面字符或组的数量至少n个
- {n,m}:前面字符或组数量至少n个,最多m个
 
举例
replace(/(^\s*)|(\s*$)/g, "") 解释:
- ^表示字符串必须以后面的规则开头, 在这里就是说字符串必须以\s*开头.
- \s 是空格的意思, * 表示有0个或多个
- \s* 就是有0个或多个空格
- (^\s*) 表示的就是以0个空格或者多个空格开头
- | 表示或的意思, 也就是满足| 左边的也成立, 满足 | 右面的也成立
- $ 的意思是字符串必须以前面的规则结尾
- (\s*$) 的意思就是, 以0个空格或者多个空格结尾
- /…/g 是正则表达式的属性, 表示全文匹配, 而不是找到一个就停止.
- 所以这个正则表达式替换的就是前导空格和后导空格- 因为有前导空格, 就说明以0个或多个空格开头, 满足正则表达式中 | 前面的条件: (^\s*)
- 而如果有后导空格, 就说明以0个或多个空格结尾, 满足正则表达式中 | 后面的条件: (\s*$)