一、什么是正则表达式
Regular Expression 使用单个字符串描述,匹配一系列符合某个句法规则的字符串;
简单的说就是按照某种规则去匹配符合条件的字符串。
(一)、通配符
.find./-name *.txt
正则表达式工具:http://regexper.com
**Regexp对象:**JS通过内置对象RegExp支持正则表达式,有两张方法实例化RegExp对象:字面量和构造函数
1. 字面量
var reg=/\bis\b/g;
2. 构造函数
var reg=new RegExp(‘\bis\b’,’g’);
(二)、修饰符
g : global 全文搜索,不添加,搜索到第一个匹配停止;
i : ignore case 忽略大小写,默认情况下大小写是敏感的;
m: multiple lines 多行搜索;
(三)、元字符
- 正则表达式由两种基本字符类型组成:原义文本字符和元字符;
- 元字符是在正则表达式中有特殊含义的非字母字符;
- * + ? ¥ ^ . | \ ( ) { } [ ]
(四)、字符类
- 一般情况下,正则表达式的一个字符对应字符串的一个字符
- 我们可以使用元字符[] 来构建一个简单的类,所谓类是指符合某些特性的对象,一个泛指,而不是特指某个字符,表达式[abc] 把字符a或b或c归为一类,表达式可以匹配这类的字符
- 字符类取反
- 使用元字符^创建反向类/负向类,反向类的意思是不属于某类的内容;
(五)、范围类
(六)、预定义类
(七)、量词
(八)、贪婪模式和非贪婪模式默认情况下,正则表达式是尽可能多的匹配;
如果想要尽可能少的匹配;在两次后面加上?即可;
(九)、分组使用()可以达到分组的功能,是量词作用于分组
- 反向引用:
忽略分组:在分组加上?:
(十)、前瞻正则表达式从文本头部向尾部开始解析,文本尾部方向,成为前
- 前瞻就是在正则表达式匹配到规格的时候,向前检查是否符合断言,后顾、后瞻方向相反
- JS不支持后顾
- 符合和不符合特定断言称为肯定、正向匹配和否定、负向匹配
(十一)、test()和exec方法
(十二)、字符串对象方法:search和match ,split和replaceb