教你如何使用JavaScript正则表达式
定义正则表达式:
Var reg_pattern = new RegRxt(“a\d”); //意思是 a后面跟着有数字
Var reg_pattern = /a\d/ ;
String对象相关的正则表达式方法
名称
说明
例子
Macth(regExp)
指定的正则表达式来搜索字符串,如果找到函数返回一个数组,没有找到返回Null
test.html
Replacre(regExp,replaceText)
将原字符串中与正则表达式regExp匹配的子字符串全部替换为replaceText,返回新的字符串。
test.html
Search(regExp)
搜索字符串,与macth(regExp)不同的是,只返回第一次匹配出现的位置索引,否则返回-1
字符类:
字符列表:在方括号内指定一个或者多个字符组成的字符列表,与字符列表中任意字符
匹配,都被认为是匹配的,例如 [abc],表示匹配a 或者 b 或者 c 中的任意一个。但每次匹配只能匹配列表中的一个字符,而不是多个
反向列表:反向列表指匹配列表中指定字符以外的所有字符。反向列表通过在列表前加
“^” 符号进行定义。例如 [^abc] 表示匹配 a 、b 、c 字符以外的所有字符。
字符范围:对于连续的字符列表,例如[1234567] 或者 [abcdefg] 这类,可以采用简单
的方式表示,这种方式称为字符范围。字符范围用 “-” 符号将起始字符与结束字
符连接起来,表示起始字符与结束字符之间的所有字符。例如:[a-z] 表示a~z之
间的全部小写字符
反向范围:在字符前面加上 ”^” 符号,则表示匹配该字符范围以外的任意字符。
与定义字符类
字符类
含义
·
匹配除换行符\n和回车字符之外的任何单个字符,等效于[^\n\r]
\d
匹配一个数字字符,等效于[0-9]
\D
匹配一个非数字字符,等效于[^0-9]
\w
匹配包括下划线的任何单个字符,包括A~Z,a~z,0~9和下滑线 ”_”,等效于[a-zA-Z0-9_]
\W
与\w互补,匹配任何非单个字符,等效于[^a-zA-Z0-9_]
\s
匹配任何Unicode空白字符,包括空格,制表符、换页符等,等效于[\f\t\n\r]
\S
匹配任何非空白字符
\b
退格字符Backspace
重复次数(数量词)
*:表示对前面表达式的匹配出现零次或多次
例如:
Var reg_pattern = /bo*/;
将匹配下面的各字符串:
b
bo
booo
+:表示对前面表达式的匹配连续出现一次或多次。
例如:
Var reg_pattern = /bo+/;
将匹配下面的各字符串:
bo
booo
{n}:n为非负整数。表示对前面表达式的匹配出现确定的 n 次。
例如:
Var reg_pattern = /bo{3}/;
只能匹配”booo”。
{n,}:n为非负整数。表示对前面表达式的匹配至少出现 n 次,即出现 n 次
或者多于 n 次。
例如:
Var reg_pattern = /[A-Z]{3,}/g;
匹配连续出现的3 个或者多于3个的大写字母。
{n,m}:n和m均为非负整数。其中 n < m。表示最少匹配 n 次且最多匹配 m 次。
或者多于 n 次。
表达式:
Var reg_pattern = /[A-Z]{3,5}/g;
匹配连续出现的3 到 5 个大写字母。
例如搜索以 ”133” 开头的手机电话的正则表达式:
Var reg_pattern= /133\d{8}/g;
边界符:
^:表示字符串开始位置,在多行匹配中,表示一行的开始位置。符号本身并
不匹配任何字符
$:表示字符串结束位置,在多行匹配中,表示一行的结束位置。符号本身并
不匹配任何字符
\b:表示一个单词(而非字符)边界,也就是单词和空格之间的位置,
上一篇: 昨日微博看见有人出了一道题