[正则表达式]基础工具书篇 字符

Posted wei4118268

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[正则表达式]基础工具书篇 字符相关的知识,希望对你有一定的参考价值。

1. 为啥要写

正则表达式在任何开发语言中都用的到,连写个linux命令都能用的到,用来指定检索、替换的规则模式。虽然它非常万能,但是有个很大的缺点,那就是 对老年选手太不友好了。想用好正则表达式,就得记住一堆符合(符号组合)及其作用。对鄙人来说,经常忘了查,查了忘。“查”的过程又经常比较繁琐,索性写点符合自己需求的内容,省的以后又是一顿xjb查。。。

2. 要写啥

这里不再写关于js如何使用正则的内容了,写多了容易乱。这里,只说“正则表达式”这个东西。

3. 基础工具内容 字符相关
1. 普通字母与数字

写啥匹配啥,怼就完了。

2. 符号

大多数的符号都在正则中表达特殊的含义,因此想匹配符号,一般要加个转义符 \\。如 \\.\\?等。

3. 字符集

用方括号 [ ] 包裹其他字符,用来匹配其中所包含的任意一个字符。

一定记住匹配出来的是一个字符。里面所包含的字符,都是“或”的关系。
比如 [abcde]匹配的是 a 或 b 或 c 或 d 或 e。

-用来表示范围,比如 [0-9]匹配的是一个 0 到 9 之间的数字。
^写在方括号里的最前面,用来表示不属于方括号内容的其他字符,比如 [^a-z]匹配到的是除了 小写a 到 小写z 这26个字母之外的其他任意一个字符。

4. 带字母的元字符

转义符加一个字母,用来匹配特定范围的一个字符。 一个字符。
常见常用的:

符号              含义                          等价
\\d               数字                         [0-9]
\\D               非数字                        [^0-9]
\\w              数字字母下划线                  [a-zA-Z0-9_]
\\W              非数字字母下划线                [^a-zA-Z0-9_]
\\s              空白字符 空格 制表符等           [ \\f\\n\\r\\t\\v](注意前边有个空格)
\\S              非空白字符                     [^ \\f\\n\\r\\t\\v]
\\b              单词边界(不匹配实际字符)
\\B              非单词边界(不匹配实际字符)

不常用的不写了 老老实实去查吧。
记忆技巧 符号的 小写字母 与 大写字母 对应的字符是互补的关系。记住一个,另一个就知道是啥意思了。

5. 所有字符

. 常常被我们用来在正则中 匹配“任意一个”字符使用,BUT 其实 .匹配的字符是不包括 \\n(换行) 与 \\r(回车)的。
要想要真正意义上匹配所有字符(1个),要使用 [\\s\\S] 或者 [\\w\\W]

以上是关于[正则表达式]基础工具书篇 字符的主要内容,如果未能解决你的问题,请参考以下文章

[正则表达式]基础工具书篇 匹配次数

Linux正则表达式——基础篇

正则表达式-理论基础篇

正则表达式-理论基础篇

Python基础篇:认知正则表达式

Python基础篇:认知正则表达式