JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象
JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象
1. js正则表达式匹配字符之含义
. 查找单个字符,除了换行和行结束符。
\w 查找单词字符。
\W 查找非单词字符。
\d 查找数字。
\D 查找非数字字符。
\s 查找空白字符。
\S 查找非空白字符。
\b 匹配单词边界。
\B 匹配非单词边界。
\0 查找 NULL 字符。
\n 查找换行符。
\f 查找换页符。
\r 查找回车符。
\t 查找制表符。
\v 查找垂直制表符。
\123 查找以八进制数 123 规定的字符。
\x35 查找以十六进制数 35 规定的字符。
\u0055 查找以十六进制数 0055 规定的 Unicode 字符。
2. 匹配字符的数量及格式的控制
a+ 匹配任何包含至少一个 a 的字符串。
a* 匹配任何包含零个或多个 a 的字符串。
a? 匹配任何包含零个或一个 a 的字符串。
a{2} 匹配包含 2个 a 的序列的字符串。
a{2,5} 匹配包含 2 至 5 个 a 的序列的字符串。
a{3,} 匹配包含至少 3 个 a 的序列的字符串。
a$ 匹配任何结尾为 a 的字符串。
^a 匹配任何开头为 a 的字符串。
?=a 匹配任何其后紧接指定字符串 a 的字符串。
?!a 匹配任何其后没有紧接指定字符串 a 的字符串。
3. 匹配指定范围内的字符
[abc] 查找方括号之间的任何字符。
[^abc] 查找任何不在方括号之间的字符。
[0-9] 查找任何从 0 至 9 的数字。
[a-z] 查找任何从小写 a 到小写 z 的字符。
[A-Z] 查找任何从大写 A 到大写 Z 的字符。
[A-z] 查找任何从大写 A 到小写 z 的字符。
[abxy] 查找给定集合内的任何字符。
[^abxy] 查找给定集合外的任何字符。
(red|blue|green) 查找任何指定的选项。
4. 修饰符
i 执行对大小写不敏感的匹配。
g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
m 执行多行匹配。
5. RegExp 对象的方法
exec() 方法用于检索字符串中的正则表达式的匹配。返回一个数组,其中存放匹配的结果。如果未找到匹配,则返回值为 null。
<script type="text/javascript"> var txt1='Hello World 2019 !'; var patt1 = new RegExp(/\d+/g); var result = patt1.exec(txt1); document.write("匹配结果: " + result); </script>
test() 方法用于检测一个字符串是否匹配某个模式。如果字符串 string 中含有与 RegExpObject 匹配的文本,则返回 true,否则返回 false。
<script type="text/javascript"> var txt1='Hello World 2019 and 2020!'; var patt1 = new RegExp("and"); var result = patt1.test(txt1); document.write("匹配结果: " + result); </script>