一、正则表达式
1、用途
模式匹配:有效性验证、提取子串、查找特定字符、替换
2、语法
2.1、定界符//:/匹配模式/
2.2、定位符:
- ^ 开头
- $ 结束
- b 单词边界
- B 非单词边界
2.3、元字符:具有特殊意义的字符
(1)量词,限定符:规定给定的组件必须要出现多少次才能满足匹配
- + 至少1次 (前导字符在目标对象中连续出现)
- * 0次 或 多次
- ? 0次 或 1次
- {n} 非负整数 匹配确定的n次
- {n,} 至少匹配n次
- {n,m} 匹配n到m次
(2)字符类
- s 空白字符,比如空格、tab键、换行
- S 非空白字符
- w 字母、数字、下划线
- W 非w
- d 数字
- D 非数字
- . 除换行外的所有字符
说明:
- d 不匹配圆角的0-9的字符
- w 不匹配汉字、不匹配圆角的数字、字母、下划线
- s 开头的中间的结尾的空白字符 都会匹配
- s和S w和W d和D 等可认为是互逆运算
(3)other 运算符
- [] 指定一个范围。eg. [a-zA-Z0-9]
- () 组合字符串,所包含的内容必须同时一起。eg. ([a-z][A-Z][0-9]),aA0匹配,aAA不匹配
- | 管道符,或的意思,多个不同的模式。 eg. (fo|foo|fool),匹配fo, 也匹配foo,也匹配 fool
- ^ 否定运算符。一般出现在[]内部的是否定运算符,[]之外的是定位符^。eg. [^0-9] 表示除0-9数字之外的所有字符
3、转义字符
二、JavaScript中的正则
1、匹配模式,两种语法
- /pattern/
- new RegExp( string )
2、修饰符
- i 忽略大小写
- g 全文查找所有匹配的
- m 多行查找
3、RegExp对象的方法
- test() 检索,返回 true false
- exec() 检索,返回找到的值,并确定其位置
- compile() 编译正则表达式
三、支持正则表达式的 String对象 方法
- search() 检索
- match() 查找
- replace() 替换
- split() 分割