什么是正则表达式?
正则表达式是描述字符模式的对象。
正则表达式用于对字符串模式匹配及检索替换,表单检验等场景。
语法
/正则表达式主体/修饰符(可选),例如:
/[a-zA-z]+://[^\s]*/g //匹配网址url
修饰符:用来修改正则表达式模式匹配行为的标志
全局修饰符 global (g):查找所有匹配项,而不只是第一个。
不区分大小写修饰符 case insensitive(i):不考虑字母的大小写,匹配时忽略大小写。
单行模式修饰符 single line(s):允许
.
匹配包括换行符在内的所有字符。unicode修饰符 unicode (u):处理unicode字符,适用于处理特殊字符。
粘附修饰符sticky(y):强制从目标字符串的开头开始匹配,不允许中途匹配失败。
基本字符含义
. 匹配所有字符
^ 匹配开始位置
$ 匹配结束位置
\d 匹配数字
\D 匹配非数字
\w 匹配数字、字母和下划线
\W 匹配非数字字母下划线
\s 匹配空格
\S 匹配非空格
[] 匹配括号里面的任意内容
[^] 匹配非括号里面的任意内容
[0-9] 匹配0-9任意数字
[^0-9] 匹配除0-9的数字
[a-z] 匹配a-z任意小写字母
[A-Z] 匹配A-Z任意大写字母
[a-zA-Z0-9] 匹配任意大小写字母和数字
[\u4e00-\u9fa5] 匹配汉字
+ 匹配一次或者多次
* 匹配0次或者多次
? 匹配1次或者0次
() 分组匹配
| 或者
正向预查(查找某个特殊符号前面的字符串或者不是某个字符前面的字符串)
反向预查(查找某个特殊符号后面的字符串或者不是某个字符后面的字符串)
重复类 {}里面的数字表示连续重复几位到几位
match()、search()、replace() :
// str.match(re); //对字符串进行正则匹配,返回匹配的结果
// str.search(re); //返回第一个满足条件的匹配结果在字符串中的位置,如果没有,返回-1
// str.replace(re,'你好'); //替换匹配的参数,第一个参数是正则表达式,表示匹配的模式,第二个参数是替换的内容