乐趣区

关于正则表达式:正则表达式基础工具书篇-字符

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]

退出移动版