Golang规则表达式之元字符

规则表达式中的元字符(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)的区别是输入串是单行还是多行,如果是单行则他们的效果是一样的。

几个资料:

  1. 一个很好的关于规则表达式的介绍:https://javascript.info/regular-expressions
  2. 规则表达式的在线测试验证:https://regex101.com/
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容