auto commit
This commit is contained in:
parent
ffd7281501
commit
70e033098b
|
@ -1,27 +1,18 @@
|
||||||
<!-- GFM-TOC -->
|
<!-- GFM-TOC -->
|
||||||
* [概述](#概述)
|
* [一、概述](#一概述)
|
||||||
* [匹配单个字符](#匹配单个字符)
|
* [二、匹配单个字符](#二匹配单个字符)
|
||||||
* [匹配一组字符](#匹配一组字符)
|
* [三、匹配一组字符](#三匹配一组字符)
|
||||||
* [使用元字符](#使用元字符)
|
* [四、使用元字符](#四使用元字符)
|
||||||
* [匹配空白字符](#匹配空白字符)
|
* [五、重复匹配](#五重复匹配)
|
||||||
* [匹配特定的字符类别](#匹配特定的字符类别)
|
* [六、位置匹配](#六位置匹配)
|
||||||
* [使用 POSIX 字符类](#使用-posix-字符类)
|
* [七、使用子表达式](#七使用子表达式)
|
||||||
* [重复匹配](#重复匹配)
|
* [八、回溯引用](#八回溯引用)
|
||||||
* [位置匹配](#位置匹配)
|
* [九、前后查找](#九前后查找)
|
||||||
* [单词边界](#单词边界)
|
* [十、嵌入条件](#十嵌入条件)
|
||||||
* [字符串边界](#字符串边界)
|
|
||||||
* [使用子表达式](#使用子表达式)
|
|
||||||
* [回溯引用](#回溯引用)
|
|
||||||
* [替换](#替换)
|
|
||||||
* [大小写转换](#大小写转换)
|
|
||||||
* [前后查找](#前后查找)
|
|
||||||
* [嵌入条件](#嵌入条件)
|
|
||||||
* [回溯引用条件](#回溯引用条件)
|
|
||||||
* [前后查找条件](#前后查找条件)
|
|
||||||
<!-- GFM-TOC -->
|
<!-- GFM-TOC -->
|
||||||
|
|
||||||
|
|
||||||
# 概述
|
# 一、概述
|
||||||
|
|
||||||
正则表达式用于文本内容的查找和替换。
|
正则表达式用于文本内容的查找和替换。
|
||||||
|
|
||||||
|
@ -31,7 +22,7 @@
|
||||||
|
|
||||||
[正则表达式在线工具](http://tool.chinaz.com/regex)
|
[正则表达式在线工具](http://tool.chinaz.com/regex)
|
||||||
|
|
||||||
# 匹配单个字符
|
# 二、匹配单个字符
|
||||||
|
|
||||||
正则表达式一般是区分大小写的,但是也有些实现是不区分。
|
正则表达式一般是区分大小写的,但是也有些实现是不区分。
|
||||||
|
|
||||||
|
@ -49,7 +40,7 @@ nam.
|
||||||
|
|
||||||
My **name** is Zheng.
|
My **name** is Zheng.
|
||||||
|
|
||||||
# 匹配一组字符
|
# 三、匹配一组字符
|
||||||
|
|
||||||
**[ ]** 定义一个字符集合;
|
**[ ]** 定义一个字符集合;
|
||||||
|
|
||||||
|
@ -73,7 +64,7 @@ abc[^0-9]
|
||||||
2. abc1
|
2. abc1
|
||||||
3. abc2
|
3. abc2
|
||||||
|
|
||||||
# 使用元字符
|
# 四、使用元字符
|
||||||
|
|
||||||
## 匹配空白字符
|
## 匹配空白字符
|
||||||
|
|
||||||
|
@ -92,21 +83,21 @@ abc[^0-9]
|
||||||
|
|
||||||
## 匹配特定的字符类别
|
## 匹配特定的字符类别
|
||||||
|
|
||||||
**1. 数字元字符**
|
### 1. 数字元字符
|
||||||
|
|
||||||
| 元字符 | 说明 |
|
| 元字符 | 说明 |
|
||||||
| ------------ | ------------ |
|
| ------------ | ------------ |
|
||||||
| \d | 数字字符,等价于 [0-9] |
|
| \d | 数字字符,等价于 [0-9] |
|
||||||
| \D | 非数字字符,等价于 [^0-9] |
|
| \D | 非数字字符,等价于 [^0-9] |
|
||||||
|
|
||||||
**2. 字母数字元字符**
|
### 2. 字母数字元字符
|
||||||
|
|
||||||
| 元字符 | 说明 |
|
| 元字符 | 说明 |
|
||||||
| ------------ | ------------ |
|
| ------------ | ------------ |
|
||||||
| \w | 大小写字母,下划线和数字,等价于 [a-zA-Z0-9\_] |
|
| \w | 大小写字母,下划线和数字,等价于 [a-zA-Z0-9\_] |
|
||||||
| \W | 对 \w 取非 |
|
| \W | 对 \w 取非 |
|
||||||
|
|
||||||
**3. 空白字符元字符**
|
### 3. 空白字符元字符
|
||||||
|
|
||||||
| 元字符 | 说明 |
|
| 元字符 | 说明 |
|
||||||
| ------------ | ------------ |
|
| ------------ | ------------ |
|
||||||
|
@ -135,7 +126,7 @@ abc[^0-9]
|
||||||
|
|
||||||
使用时需要用两对方括号,例如 [[:alpha:]]。
|
使用时需要用两对方括号,例如 [[:alpha:]]。
|
||||||
|
|
||||||
# 重复匹配
|
# 五、重复匹配
|
||||||
|
|
||||||
**\+** 匹配 1 个或者多个字符, **\*** 匹配 0 个或者多个,**?** 匹配 0 个或者 1 个。
|
**\+** 匹配 1 个或者多个字符, **\*** 匹配 0 个或者多个,**?** 匹配 0 个或者 1 个。
|
||||||
|
|
||||||
|
@ -178,7 +169,7 @@ a.+c
|
||||||
|
|
||||||
**abcabcabc**
|
**abcabcabc**
|
||||||
|
|
||||||
# 位置匹配
|
# 六、位置匹配
|
||||||
|
|
||||||
## 单词边界
|
## 单词边界
|
||||||
|
|
||||||
|
@ -216,7 +207,7 @@ a.+c
|
||||||
6. int c = a + b;
|
6. int c = a + b;
|
||||||
7. }
|
7. }
|
||||||
|
|
||||||
# 使用子表达式
|
# 七、使用子表达式
|
||||||
|
|
||||||
使用 **( )** 定义一个子表达式。子表达式的内容可以当成一个独立元素,即可以将它看成一个字符,并且使用 * 等元字符。
|
使用 **( )** 定义一个子表达式。子表达式的内容可以当成一个独立元素,即可以将它看成一个字符,并且使用 * 等元字符。
|
||||||
|
|
||||||
|
@ -264,7 +255,7 @@ a.+c
|
||||||
1. **192.168.0.1**
|
1. **192.168.0.1**
|
||||||
2. 555.555.555.555
|
2. 555.555.555.555
|
||||||
|
|
||||||
# 回溯引用
|
# 八、回溯引用
|
||||||
|
|
||||||
回溯引用使用 **\n** 来引用某个子表达式,其中 n 代表的是子表达式的序号,从 1 开始。它和子表达式匹配的内容一致,比如子表达式匹配到 abc ,那么回溯引用部分也需要匹配 abc 。
|
回溯引用使用 **\n** 来引用某个子表达式,其中 n 代表的是子表达式的序号,从 1 开始。它和子表达式匹配的内容一致,比如子表达式匹配到 abc ,那么回溯引用部分也需要匹配 abc 。
|
||||||
|
|
||||||
|
@ -350,7 +341,7 @@ $1\U$2\E$3
|
||||||
|
|
||||||
aBCd
|
aBCd
|
||||||
|
|
||||||
# 前后查找
|
# 九、前后查找
|
||||||
|
|
||||||
前后查找规定了匹配的内容首尾应该匹配的内容,但是又不包含首尾匹配的内容。向前查找用 **?=** 来定义,它规定了尾部匹配的内容,这个匹配的内容在 ?= 之后定义。所谓向前查找,就是规定了一个匹配的内容,然后以这个内容为尾部向前面查找需要匹配的内容。向后匹配用 ?<= 定义。
|
前后查找规定了匹配的内容首尾应该匹配的内容,但是又不包含首尾匹配的内容。向前查找用 **?=** 来定义,它规定了尾部匹配的内容,这个匹配的内容在 ?= 之后定义。所谓向前查找,就是规定了一个匹配的内容,然后以这个内容为尾部向前面查找需要匹配的内容。向后匹配用 ?<= 定义。
|
||||||
|
|
||||||
|
@ -370,7 +361,7 @@ aBCd
|
||||||
|
|
||||||
对向前和向后查找取非,只要把 = 替换成 ! 即可,比如 (?=) 替换成 (?!) 。取非操作使得匹配那些首尾不符合要求的内容。
|
对向前和向后查找取非,只要把 = 替换成 ! 即可,比如 (?=) 替换成 (?!) 。取非操作使得匹配那些首尾不符合要求的内容。
|
||||||
|
|
||||||
# 嵌入条件
|
# 十、嵌入条件
|
||||||
|
|
||||||
## 回溯引用条件
|
## 回溯引用条件
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user