正则表达式
1. 参考及测试文本
- 正则表达式在线测试工具,选python语言,python字符串前直接加
r
防止正则表达式被转义 - github上找的学习资料
- 测试字符串(随便敲的)
1
2
3
4
5
6
7
8
9
10
11
12
13The fat cat sat on the mat
The car parked in the garage
A garage is a good place to park a car
good place.
The fat cat sat on the concatenation
The fat cat sat on the mat.
The number was 9.99997 but we round it off to 10.0.
The fat cat sat on the mat.
Hello____hi.
abcffdAshsabc
cbtcbbt.
cbjssjstsadsff
ct
2. 常用运算符阐释
.
:点运算符,可以匹配任意单个字符,但不包括换行符
1 |
|
[]
:字符集,匹配的内容由中括号中的内容决定
1 |
|
[^]
:否定字符集
1 |
|
*
:重复次数,判断*
前面的字符或者字符集是否在范围内,不在范围内匹配次数也会加1次。匹配0次或者更多次*
前面的字符
1 |
|
+
:+
前面的字符串至少出现一次会被匹配
1 |
|
?
:推断匹配字符在或者不在
1 |
|
{}
:用来限定出现次数,左边右边靠,
隔开
1 |
|
-(...)
:集合
1 |
|
|
:或运算符
1 |
|
\
:转义字符,把{}[]/\+*.$^|?
转换成普通字符
1 |
|
^
$
:^
指定字符串开头,和[^]
不一样,$
指定字符串结尾
1 |
|
\w
:匹配所有字母\W
:匹配所有非字母\d
:匹配所有数字\D
:匹配所有非数字\s
:匹配所有空格\S
:匹配所有非空格\n
:匹配换行符\r
:匹配回车符\t
:匹配制表符?=
:表示第一部分表达式后面必须跟?=
后面的东西
1 |
|
?!
:表示第一部分表达式后面必须不跟?!
后面的东西
1 |
|
?<=
:相比于?=
,这个后面必须跟一个其他的格式
1 |
|
?<!
:相比于?!
,这个后面必须跟一个其他的格式
1 |
|
i
:忽略大小写。
1 |
|
- 贪婪匹配和惰性匹配
1
2
3
4/(.*at)/
正则表达式默认会去搜索 任意字符+at的字符串,并且匹配尽可能长的子串(字符串匹配直到遇到空格符或者换行符等),这就是贪婪匹配模式
/(.*?at)/
转换成惰性匹配模式,字符串到at就结束了。
正则表达式
http://example.com/2024/07/21/[regex]正则表达式/