一、正则表达式,又称规则表达式
查找匹配某些符合规则的字符串,正则表达式就是写这种规则的工具
1. 直接量定义
/正则表达式/[修饰符]
2. 实例化方式
new RegExp(字符串,[修饰符])
修饰符是可选的
g: 全局匹配
i: 忽略大小写
二、方法
1.test()
作用: 用来检测指定的字符串是否符合正则的规则
语法: boolean regexObj.test(string)
参数: 字符串
返回值: 符合规则返回true,不符合返回false
2.search()
作用: 检索指定字符串或正则表达式匹配到的字符串首次出现的位置
语法: number string.search(string|regexObj)
参数: string|regexObj 字符串或正则表达式
返回值: 匹配到的字符串首次出现的位置 , 没有检索到返回-1
indexOf只能接收字符串作为参数
3.match()
作用: 检索指定字符串或正则表达式匹配到的字符串
语法: Array|Null string.match(string|regexObj)
参数: string|regexObj 字符串或正则表达式
返回值: 返回数组---把匹配到的字符串放在数组中 没有检索到返回null
ps: 参数为regexObj时
带有g,全局匹配,返回的是匹配到的字符串组成的数组
不带g,匹配一个字符串,并且数组会有index和input属性
4.replace()
作用: 用来替换字符串中的某些符合规则的字符
语法: String string.replace(string|regexObj,string|function)
参数:
第一个参数:字符串或正则表达式
第二个参数:字符串或函数
返回值 : 替换后的新字符串
注意事项
第二个参数为函数,必须要有返回值,否则替换后的内容为undefined
三、范围 []
数字范围 [0-9]
中文 [\u4e00-\u9fa5]; //速记:有事妖灵灵,有酒罚我
字母 [a-zA-Z]
四、正则量词(限定符):
{min,max} min次到max次
{min,} min次到无穷次
{val} val次
* 零次或多次 {0,}
+ 一次或多次 {1,}
? 零次或一次 {0,1}
五。转义字符
\b 边界符(单词边界)
\B 非单词边界
\d 数字 等价于[0-9]
\D 匹配一个非数字字符 [^0-9]
\f 匹配一个换页符 (U+000C)。
\n 匹配一个换行符 (U+000A)。
\r 匹配一个回车符 (U+000D)。
\s 匹配一个空白字符,包括空格、制表符、换页符和换行符。等价于[ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]。
例如, /\s\w*/ 匹配"foo bar."中的' bar'
\S 匹配一个非空白字符。等价于[^ \f\n\r\t\v\u00a0\u1680\u180e\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff
\w 等价于[A-Za-z0-9_]。
\W 等价于[^A-Za-z0-9_]。
[^ ] 非
/^/ 配置开始