教你如何使用JavaScript正则表达式

来源:互联网 发布:热点软件科技 编辑:程序博客网 时间:2024/06/09 15:17

主题: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],表示匹配或者 或者 中的任意一个。但每次匹配只能匹配列表中的一个字符,而不是多个

反向列表:反向列表指匹配列表中指定字符以外的所有字符。反向列表通过在列表前加

^ 符号进行定义。例如 [^abc] 表示匹配 字符以外的所有字符。

字符范围:对于连续的字符列表,例如[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为非负整数。表示对前面表达式的匹配出现确定的 次。

例如:

Var reg_pattern = /bo{3}/;

只能匹配booo

{n,}:n为非负整数。表示对前面表达式的匹配至少出现 次,即出现 

或者多于 次。

例如:

Var reg_pattern = /[A-Z]{3,}/g;

匹配连续出现的个或者多于3个的大写字母。

{n,m}:nm均为非负整数。其中 n < m。表示最少匹配 次且最多匹配 次。

或者多于 次。

表达式:

Var reg_pattern = /[A-Z]{3,5}/g;

匹配连续出现的到 个大写字母。

例如搜索以 133 开头的手机电话的正则表达式:

Var reg_pattern= /133\d{8}/g;

边界符:

^表示字符串开始位置,在多行匹配中,表示一行的开始位置。符号本身并

不匹配任何字符

$:表示字符串结束位置,在多行匹配中,表示一行的结束位置。符号本身并

不匹配任何字符

\b:表示一个单词(而非字符)边界,也就是单词和空格之间的位置,