JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

时间:2022-05-11 00:54:19

JavaScript -- 知识点回顾篇(六):js中的正则表达式 -- RegExp 对象

1. js正则表达式匹配字符之含义

.     查找单个字符,除了换行和行结束符。
\w    查找单词字符。
\W     查找非单词字符。
\d     查找数字。
\D     查找非数字字符。
\s     查找空白字符。
\S     查找非空白字符。
\b     匹配单词边界。
\B     匹配非单词边界。
\0     查找 NULL 字符。
\n     查找换行符。
\f     查找换页符。
\r     查找回车符。
\t     查找制表符。
\v     查找垂直制表符。
\     查找以八进制数 规定的字符。
\x     查找以十六进制数 规定的字符。
\u     查找以十六进制数 规定的 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>

  JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象

    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>

  JavaScript -- 时光流逝(六):js中的正则表达式 -- RegExp 对象