正则表达式学习笔记

1 限定符

1.1 ?

 used? /* 表示字符d需要出现0次或1次 */
 -----------
 use /* 能匹配 */
 used /* 能匹配 */
 us /* 不能匹配 */

1.2 *

 ab*c /* 表示b可以出现0次,或1次,或n次 */
 -----------
 ac /* 能匹配 */
 abc /* 能匹配 */
 abbbc /* 能匹配 */
 abdc /* 不能匹配 */
 ab /* 不能匹配 */

1.3 +

 ab*c /* 表示b可以出现1次,或n次 */
 -----------
 ac /* 不能匹配 */
 abc /* 能匹配 */
 abbbc /* 能匹配 */
 abdc /* 不能匹配 */
 ab /* 不能匹配 */

1.4 {...}

 ab{6}c      /* 表示b能出现6次 */
 ab{2,6}c /* 表示b能出现2~6次 */
 ab{2,}c /* 表示b能出现2次以上 */

1.5 ()

 (ab)    /* 匹配ab字符串 */
 --------------
 abcabd /* 能匹配上ab ab */
 acadaf /* 不能匹配 */

2 或运算

2.1 |

 a (cat|dog)
 ----------
 a dog /* 能匹配 */
 a cat /* 能匹配 */
 a tom /* 不能匹配 */

3 字符类

3.1 -

 [a-zA-Z0-9]+    /* 匹配大小写字母和所有数字 */
 ​

3.2 ^

 [^0-9]+ /* 表示需要除了数字之外的所有字符 */

4 元字符

4.1 \d和\D

\d+ 表示所有的数字

\D+ 与\d相反

4.2 \w 和\W

\w+ 表示所有的字母、数字、下划线

\W 与\w相反

4.3 \s 和\S

\s 表示所有的空格和TAB和换行符

\S 与\s相反

4.4 .

. 表示任意字符,但不包含换行符

4.5 ^

会去匹配行首

 ^a  /* 只会去匹配行首的a */
 -----------
 abc /* 匹配到行首的a */
 cba /* 匹配不到行末的a */

4.6 $

会区匹配行尾

 a$  /* 只会去匹配行末的a */
 -----------
 abc /* 匹配不到行首的a */
 cba /* 匹配到行末的a */

参考学习资料

B站UP主:奇乐编程学院

视频地址:https://www.bilibili.com/video/BV1da4y1p7iZ?from=search&seid=17857149323720293158&spm_id_from=333.337.0.0

 

 

 

 

 

 

 

上一篇:(acwing蓝桥杯c++AB组)2.1 二分与前缀和


下一篇:StringBuilder与String比较结果错误