正则表达式中的转义字符:通过“\”作为前缀:
\o NUL字符(\u0000)
\t 制表符(\u0009)
\n 换行符(\u000A)
\v 垂直制表符(\u000B)
\f 换页符(\u000C)
\r 回车符(\u000D)
\xnn 由十六进制数nn指定的拉丁字符
\uxxxx 由十六进制xxxx指定的Unicode字符
\cX 控制字符^X
实例:
function zyzf() {
var text = "zy\t\rzf";
var reg = new RegExp("\\r", "g");
alert(reg.test(text));
}
<input id="Button9" type="button" value="转义字符匹配" onclick="zyzf()" />
正则表达式中特殊标点符号:^ $ . * + ?= ! : | \ / ( ) [ ] { }(如果要在正则表达式使用这些直接量则要在前面加“\”)
[^]:否定字符类,不包括在后面的匹配。
function tsbds() {
var text = "tieshubiaodianpipei";
var reg = new RegExp("^ti", "g");
alert(reg.exec(text));
}
$:以什么的结尾。
. :除了换行符和unicode行终止符之外的所有字符。
[]:方括号里面的任意字符匹配。
例如:
var reg=new RegExp("[abc]","g");的含义和“a”“b”“c”中的任何一个匹配。
正则表达式中的字符类
\w :任何ASCII字符组成的字母数字,等级于[a-zA-Z0-9]
\W:任何不是ASCII字符组成的字母数字,等级于[^a-zA-Z0-9]
\s :任何Unicode的空白字符
\S: 任何非Unicode的空白字符
\d: 任何ASCII数字,等价于[0-9]
\D:出ASCII数字之外的任何字符,等价于[^0-9]
[\b]:退格直接量(特例)
实例:寻找字符串中的所以数字
function tsbds() {
var text = "ties2hubi3aodia2424npip242ei";
var reg = new RegExp("\\d", "g");
alert(text.match(reg));
}
<input id="Button10" type="button" value="特殊标点匹配" onclick="tsbds()" />
正则表达式中重复用法:
{n,m} 匹配前一项至少n次,但是不超过m次
{n,} 匹配前一项n次或者更多次
{n} 匹配前一项n次
? 匹配前一项0次或者1次,等价于{0,1}
+ 匹配前一项一次或者多次,等价于{1,}
* 匹配前一项0次或者多次,等价于{0,}
实例:找出数字组合
function tsbds() {
var text = "ties2hubi3aodia2424npip242ei";
var reg = new RegExp("\\d+", "g");
alert(text.match(reg));
}
<input id="Button10" type="button" value="特殊标点匹配" onclick="tsbds()" />
正则表达式匹配之非贪婪的匹配,只需要在待匹配的字符后面跟一个问号即可。
如我们看看/a+?/的匹配结果吧。
function tsbds() { var text = "tieaaaas2hubi3aodia2424npip242ei"; var reg = new RegExp("a+?", "g"); alert(text.match(reg)); }
<input id="Button10" type="button" value="特殊标点匹配" onclick="tsbds()" />
正则表达式之分组、选择和引用
| 分割供选择的字符,如/ab|cd|ef/可以匹配“ab”或“cd”或者“ef”(从左到右的匹配,左边匹配了就忽略右边的如/a|ab/遇到ab职匹配第一个)
() 将几个项组合成一个单元。
例如:
function tsbds() {
var text = "tiABCeaaaaSs2hubAi3aDodAia2424npBip24C2ei";
var reg = new RegExp("ab|bc|de", "gi");
alert(text.match(reg));
}
<input id="Button10" type="button" value="特殊标点匹配" onclick="tsbds()" />
正则表达式的修饰符
i :执行不区分大小写的匹配
g :找到所有的匹配
m :多行匹配模式
实例匹配所有的全局配置字母abc(不区分大小写)
function tsbds() {
var text = "tiABCeaaaaSs2hubAi3aDodAia2424npBip24C2ei";
var reg = new RegExp("[abc]", "gi");
alert(text.match(reg));
}
<input id="Button10" type="button" value="特殊标点匹配" onclick="tsbds()" />