正则表达式元字符
常见元字符一
| 符号 | 含义 |
|---|---|
| . | 匹配除换行外任意单个字符 |
| ^ | 在[ ]外匹配字符串开头 |
| [ ] | 匹配括号内的任意字符 |
| [^] | 匹配除了选中字符外的所有字符 |
| $ | 匹配字符串的结尾 |
| * | 匹配前面的字符零次或多次 |
| + | 匹配前面的字符一次或多次 |
| ? | ?前面的字符可有可无 |
| {n} | 表示重复次数 |
| {n,} | 表示重复至少 n 次 |
| {n,m} | 重复至少 n 次,但不超过 m 次 |
| | | 表示或的关系 |
举例:
其实可以看做一种叫赖子扑克牌的玩法:
抽中为赖子的牌可以变换自己的身份,比如抽中赖子牌为7,那么7
不再是7,而是可以跟其他牌搭配随意变换,比如出一个2和7,那
么就是对2。如果出3个4一个7,那么相当于炸弹4。
1 .
来看第一个,如果有这么一段文字:
I like to eat watermelon
如果 .a 匹配,那么就会匹配到:
I like to eat watermelon
如果 a. 匹配,那么就会匹配到:
I like to eat watermelon
此时的.就像是赖子玩法的赖子牌7
2 ^
给文本增加内容:
I like to eat watermelon
You like to eat banana
使用 ^I 匹配:
I like to eat watermelon
You like to eat banana
使用 ^Y 匹配:
I like to eat watermelon
You like to eat banana
3 []
依旧是这段文本:
I like to eat watermelon
使用 [te] 匹配:
I like to eat watermelon
4 [^]
依旧是这段文本:
I like to eat watermelon
使用 [^ae] 匹配
I like to eat watermelon
5 $
当然不是这段文本:
My dog,A big dog.
使用 dog.$ 匹配:
My dog,A big dog.
6 *
有下面的文本:
I love programming in Python.
使用 o* 匹配:
I love programming in Python.
7 +
继续使用文本:
I love programming in Python.
使用 o+ 匹配:
I love programming in Python.
8 ?
使用下面文本:
She sells sea shells.
使用 s?e 匹配:表示e前面可以有s,也可以没有
She sells sea shells
9 {n}
使用下面文本:
The moon is bright.
使用 o{2} 匹配:相当于匹配oo
The moon is bright.
10 {n,}
使用文本
Look at the beautiful moon.Oooo
使用 o{1,} 匹配:
Look at the beautiful moon.Oooo
11 {n,m}
使用文本
I need to practice
使用 e{1,2} 匹配:
I need to practice
12 |
使用文本:
I can eat apples or oranges.
使用 apples|oranges 匹配:
I can eat apples or oranges.