RegExp:
正则表达式:
修饰符:
修饰符 描述
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
方括号:
方括号用于查找某个范围内的字符:
表达式 描述
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[a-Z] 查找任何从小写 a 到大写 Z 的字符。
[adgk] 查找给定集合内的任何字符。
[^adgk] 查找给定集合外的任何字符。
[red|blue|green] 查找任何指定的选项。
元字符
元字符(Metacharacter)是拥有特殊含义的字符:
元字符 描述
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 查找位于单词的开头或结尾的匹配。
\B 查找不处在单词的开头或结尾的匹配。
\0 查找 NUL 字符。
\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 Demo:
在字符串中对字符范围 [a-h] 进行全局搜索:
var str="Is this all there is?";
var patt1=/[a-h]/g;
下面被标记的文本显示了表达式获得匹配的位置:
h a h e e
对不在字符范围 [a-h] 内的字符进行全局搜索:
var str="Is this all there is?";
var patt1=/[^a-h]/g;
下面被标记的文本显示了表达式获得匹配的位置:
Is t is ll t r is?
对字符串中的 "h.t" 进行全局搜索:
var str="That's hot!";
var patt1=/h.t/g;
下面被标记的文本显示了表达式获得匹配的位置:
hat hot
对字符串中的单词字符进行全局搜索:
var str="Give 100%!";
var patt1=/\w/g;
下面被标记的文本显示了表达式获得匹配的位置:
Give 100
对字符串中的非单词字符进行全局搜索:
var str="Give 100%!";
var patt1=/\W/g;
下面被标记的文本显示了表达式获得匹配的位置:
%!
对数字进行全局搜索:
var str="Give 100%!";
var patt1=/\d/g;
下面被标记的文本显示了表达式获得匹配的位置:
100
对字符串中的非数字字符进行全局搜索:
var str="Give 100%!";
var patt1=/\D/g;
下面被标记的文本显示了表达式获得匹配的位置
Give %!
对字符串中的空白字符进行全局搜索:
var str="Is this all there is?";
var patt1=/\s/g;
下面被标记的文本显示了表达式获得匹配的位置:
空白
对字符串中的非空白字符进行全局搜索:
var str="Is this all there is?";
var patt1=/\S/g;
下面被标记的文本显示了表达式获得匹配的位置:
Is this all there is?
对字符串中的八进制数XXX 127 (W) 进行全局搜索:
var str="Visit W3School. Hello World!";
var patt1=/\127/g;
下面被标记的文本显示了表达式获得匹配的位置:
W W
对字符串中的十六进制dd 57 (W) 进行全局搜索:
var str="Visit W3School. Hello World!";
var patt1=/\x57/g;
下面被标记的文本显示了表达式获得匹配的位置:
W W
对字符串中的十六进制 0057 (W) 进行全局搜索:
var str="Visit W3School. Hello World!";
var patt1=/\u0057/g;
下面被标记的文本显示了表达式获得匹配的位置:
W W
对至少一个 "o" 进行全局搜索:
var str="Hellooo World! Hello W3School!";
var patt1=/o+/g;
下面被标记的文本显示了表达式获得匹配的位置:
ooo o o oo
对至少一个单词字符进行全局搜索:
var str="Hello World! Hello W3School!";
var patt1=/\w+/g;
下面被标记的文本显示了表达式获得匹配的位置:
Hello World Hello W3School
对 "l" 进行全局搜索,包括其后紧跟的一个或多个 "o":
var str="Hellooo World! Hello W3School!";
var patt1=/lo*/g;
下面被标记的文本显示了表达式获得匹配的位置:
llooo l llo l
对 "1" 进行全局搜索,包括其后紧跟的零个或一个 "0":
var str="1, 100 or 1000?";
var patt1=/10?/g;
下面被标记的文本显示了表达式获得匹配的位置:
1 10 10