当前位置 : 首页> Java培训 > 浅谈JS正则表达式

浅谈JS正则表达式

时间:2019-01-07 14:21:41   已访问:346次
热门专业

什么是正则表达式?JS正则表达式如何应用?对于这一系列的说法,下面就由IT培训网一一解答。

正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串搜索模式,搜索模式可用于文本搜索和文本替换。正则表达式并不是某一门编程语言专用,它是一项独立于任何编程语言的一套文本搜索和匹配规则,目前是所有的程序设计语言都提供了对正则表达式标准规则的支持而已。所以要学习好正则表达式,我们重点其实并不在于在某个程序设计语言中怎么调用,用什么函数,传递什么参数,而是首先要完全理解正则表达式的语法规则。

浅谈JS正则表达式_www.cnitedu.cn

正则表达式语法

标准的正则表达式的语法规则归类如下:

1.方括号:

方括号用于查找某个范围内的字符,如表9-5所示。

表9- 5 正则表达式的方括号用法

表达式

描述

[abc]

查找方括号之间的任何字符。

[^abc]

查找任何不在方括号之间的字符。

[0-9]

查找任何从 0 至 9 的数字。

[a-z]

查找任何从小写 a 到小写 z 的字符。

[A-Z]

查找任何从大写 A 到大写 Z 的字符。

[A-z]

查找任何从大写 A 到小写 z 的字符。

[adgk]

查找给定集合内的任何字符。

[^adgk]

查找给定集合外的任何字符。

(red|blue|green)

查找任何指定的选项,red或blue或green。

2.元字符

元字符(Metacharacter)是拥有特殊含义的字符,如表9-6所示。

表9-6 正则表达式的元字符

元字符

描述

.

查找单个字符,除了换行和行结束符。

\w

查找单词字符。

\W

查找非单词字符。

\d

查找数字。

\D

查找非数字字符。

\s

查找空白字符。

\S

查找非空白字符。

\b

匹配单词边界。

\B

匹配非单词边界。

\0

查找 NUL 字符。

\n

查找换行符。

\f

查找换页符。

\r

查找回车符。

\t

查找制表符。

\v

查找垂直制表符。

\xxx

查找以八进制数 xxx 规定的字符。

\xdd

查找以十六进制数 dd 规定的字符。

\uxxxx

查找以十六进制数 xxxx 规定的 Unicode 字符。

3.量词:

量词主要解决匹配数量的问题,如表9-7所示。

表9-7 正则表达式中的量词

量词

描述

n+

匹配任何包含至少一个 n 的字符串。

n*

匹配任何包含零个或多个 n 的字符串。

n?

匹配任何包含零个或一个 n 的字符串。

n{X}

匹配包含 X 个 n 的序列的字符串。

n{X,Y}

匹配包含 X 或 Y 个 n 的序列的字符串。

n{X,}

匹配包含至少 X 个 n 的序列的字符串。

n$

匹配任何结尾为 n 的字符串。

^n

匹配任何开头为 n 的字符串。

?=n

匹配任何其后紧接指定字符串 n 的字符串。

?!n

匹配任何其后没有紧接指定字符串 n 的字符串。

JS的RegExp对象

在JavaScript中,主要使用RegExp对象来处理正则表达式。RegExp 对象属性,如表9-8所示。

表9- 8 RegExp对象的属性

属性

描述

global

RegExp 对象是否具有标志 g。

ignoreCase

RegExp 对象是否具有标志 i。

lastIndex

一个整数,标示开始下一次匹配的字符位置。

multiline

RegExp 对象是否具有标志 m。

source

正则表达式的源文本。

RegExp 对象方法,如表9-9所示。

表9- 9 RegExp对象的方法

方法

描述

compile

编译正则表达式。

exec

检索字符串中指定的值。返回找到的值,并确定其位置。

test

检索字符串中指定的值。返回 true 或 false。

另外,字符串中的几个方法也同样支持正则表达式,如表9-10所示。

表9- 10 支持正则表达式的字符串方法

方法

描述

search

检索与正则表达式相匹配的值。

match

找到一个或多个正则表达式的匹配。

replace

替换与正则表达式匹配的子串。

split

把字符串分割为字符串数组。

有关JS正则表达式的问题,上面已写的很清楚,如有其它疑问那就赶快加入IT培训网吧!


推荐内容