javascript - 正则表达式
何谓正则表达式?
使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。(摘自百度百科 - 正则表达式)
即用一个简单字符串来代表一系列符合一定规则的字符串,具体如何定义这个“简单字符串”请查看其他资料,下文着重介绍javascript中正则表达式的使用。
匹配模式
匹配模式即通过一个正则表达式对一个字符串进行匹配查询时所采取的模式。
存在三种匹配模式:全局模式(g)、不区分大小写模式(i)、多行模式(m)。
全局模式:对整个字符串进行匹配。
不区分大小写模式:在匹配过程中不忽略字符的大小写。
多行模式:对所有行进行匹配。
以字面量形式定义正则表达式
var expression = / pattern / flags;
pattern: 即为上面提到的“简单字符串”。
flags: 匹配模式标识,可以选择多个。
例如:var regexp = / [bc]at / gi; // 匹配所有"bat"或"cat"字符串,并且忽略大小写
以RegExp类型定义正则表达式
var expression = new RegExp("pattern", "flags");
例如:var regexp = new RegExp("[bc]at", "gi"); // 功能同上
正则表达式的应用
当定义完正则表达式后,即生成了一个RegExp类型的实例,如上面的regexp变量,不论它是通过字面量形式还是RegExp类型定义的。
如果要将正则表达式应用到一个字符串,只需调用RegExp类型的exec()方法即可。
例如:
var text = "abc bat cat";
var match = regexp.exec(text); // 该方法返回text字符串中第一个匹配项,若未找到匹配项则返回null。
关于RegExp类型的其他属性、方法等内容请查看具体文档。