规则表达式中的元字符(Meta characters)
+----+-----------------------------------------------------+
| | 表格Title |
+----+-------------+---------------------------------------+
| 1 | ^ | 匹配行头
| 2 | $ | 匹配行尾
| 3 | . | 匹配任何字符,除了换行符(newline)
| 4 | \A | 匹配字符串头
| 5 | \z | 匹配字符串尾
| 6 | \Z | 匹配字符串尾,或者匹配最后一个换行符前面的位置,如果输入串的最后一个字符是换行符(newline)
| 7 | \b | 匹配一个单词(word)的边界,位置在一个单词和空格之间的位置
| 8 | \B | 和\b相反,匹配的是非单词边界
| 9 | \f | 匹配换页符,(现在已经很少用的符号)
| 10 | \n | 匹配换行符
| 11 | \r | 匹配回车符
| 12 | \t | 匹配tab符
| 13 | \v | 匹配竖向tab符,(以前打印机用,现在已经很少用的符号)
| 14 | \s | 匹配任何空格字符包括:[\t\n\f\r ]
| 15 | \S | 和\s相反,即匹配:[^\t\n\f\r ]
| 16 | \w | 匹配单词符号:[A-Za-z0-9_]
| 17 | \W | 和\w相反,即匹配[^A-Za-z0-9_]
| 18 | \d | 匹配数字字符:[0-9]
| 19 | \D | 和\d相反,即匹配:[^0-9]
+----+-------------+---------------------------------------+
注意的是:
- ^,$,\A,\z,\Z,\b,\B 这几个元字符匹配的是一个空位置,即字符之间的位置,而不是一个字符,也就是匹配他们的子串的长度都是零。
- (^,$)和(\A,\z,\Z)的区别是输入串是单行还是多行,如果是单行则他们的效果是一样的。
几个资料:
- 一个很好的关于规则表达式的介绍:https://javascript.info/regular-expressions
- 规则表达式的在线测试验证:https://regex101.com/
网友评论