-
创建正则表达式:
- 字面量方式:
/pattern/flags - 对象方式:
new RegExp('pattern', 'flags')
- 字面量方式:
-
正则表达式修饰符(Flags) :
g:全局搜索。i:不区分大小写。m:多行模式。u:Unicode 模式,正确处理大于\uFFFF的 Unicode 字符。y:粘滞模式,匹配从上一次成功匹配的结束位置开始的字符串。
-
字符和元字符:
.:匹配除换行符之外的任何单个字符。^:匹配输入字符串的开始位置。$:匹配输入字符串的结束位置。*:匹配前面的字符零次或多次。+:匹配前面的字符一次或多次。?:匹配前面的字符零次或一次。{n}:匹配确定的 n 次数。{n,}:至少匹配 n 次。{n,m}:最少匹配 n 次且最多 m 次。[]:匹配括号内的任意一个字符。|:匹配两项之间的任意一项。
-
字符类:
\d:匹配任何数字,等同于[0-9]。\D:匹配任何非数字字符,等同于[^0-9]。\w:匹配任何字母数字字符,包括下划线,等同于[a-zA-Z0-9_]。\W:匹配任何非字母数字字符,等同于[^a-zA-Z0-9_]。\s:匹配任何空白字符,包括空格、制表符、换页符等。\S:匹配任何非空白字符。
-
分组和捕获:
(pattern):捕获匹配的文本。(?:pattern):非捕获组,用于分组但不捕获匹配的文本。
-
断言:
(?=pattern):正向前瞻断言,确保某个位置后面跟着某个模式。(?!pattern):负向前瞻断言,确保某个位置后面不跟着某个模式。(?<=pattern):正向后瞻断言,确保某个位置前面是某个模式。(?<!pattern):负向后瞻断言,确保某个位置前面不是某个模式。
-
JavaScript 中的正则表达式方法:
match():检索字符串中正则表达式的匹配。replace():在字符串中搜索匹配正则表达式的部分,并将其替换。search():执行搜索匹配,返回匹配项的索引。split():使用正则表达式来拆分字符串。test():测试字符串是否匹配正则表达式。