最新的Web开发教程
 

JavaScript正则表达式参考


RegExp对象

正则表达式是用来描述字符的图案的物体。

正则表达式用来进行模式匹配和"search-and-replace"文本的功能。

句法

/ pattern / modifiers ;

var patt = /w3ii/i

为例进行了说明:

  • / w3ii / i是正则表达式。
  • w3ii是一个模式(to be used in a search)
  • i为改性剂(modifies the search to be case-insensitive)

对于一个正则表达式的教程,请阅读我们的JavaScript的RegExp教程


修饰符

修饰符用于执行不区分大小写和全局搜索:

修改 描述
i 执行区分大小写的匹配
g 执行全局匹配(find all matches rather than stopping after the first match)
m 执行多行匹配

括号

支架用于查找字符的范围:

表达 描述
[abc] 查找方括号之间的任何字符
[^abc] 找不到括号之间的任何字符
[0-9] 查找方括号之间的任意数字
[^0-9] 查找不括号之间的任何数字
(x|y) 查找指定的任何替代品

元字符

元字符是有特殊含义的字符:

元字符 描述
查找单个字符,除了换行符或行结束
\ W 查找单词字符
\ W 查找非单词字符
\ D 查找数字
\ D 查找非数字字符
\ S 查找空白字符
\ S 查找非空白字符
\ b 找到匹配一个单词的开始/结束
\乙 找到匹配不是在一个单词的开头/结束
\ 0 查找NULL字符
\ n 找到一个新的行字符
\F 查找换页符
\ r 查找回车符
\ t 查找制表符
符\ v 查找垂直制表符
\ XXX 查找八进制数XXX指定的字符
\ XDD 查找十六进制数DD指定的字符
为\ uXXXX 查找十六进制数XXXX规定的Unicode字符

量词

量词 描述
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任何字符串

RegExp对象属性

属性 描述
constructor 返回创建RegExp对象的原型功能
global 检查是否"g"修改设置
ignoreCase 检查是否"i"修改设置
lastIndex 指定索引处开始进行下一场比赛
multiline 检查是否"m"修改设置
source 返回正则表达式模式的文本

RegExp对象的方法

方法 描述
compile() 弃用1.5版本。 编译正则表达式
exec() 试验在一个字符串匹配。 返回的第一场比赛
test() 试验在一个字符串匹配。 返回true或false
toString() 返回正则表达式的字符串值