auto commit
This commit is contained in:
@ -19,7 +19,7 @@
|
||||
|
||||
正则表达式内置于其它语言或者软件产品中,它本身不是一种语言或者软件。
|
||||
|
||||
[正则表达式在线工具](http://tool.oschina.net/regex/)
|
||||
[正则表达式在线工具](https://regexr.com/)
|
||||
|
||||
# 二、匹配单个字符
|
||||
|
||||
@ -164,7 +164,7 @@ a.+c
|
||||
|
||||
^ 元字符在字符集合中用作求非,在字符集合外用作匹配字符串的开头。
|
||||
|
||||
使用 (?m) 来打开分行匹配模式,在该模式下,换行被当做字符串的边界。
|
||||
分行匹配模式(multiline)下,换行被当做字符串的边界。
|
||||
|
||||
**应用**
|
||||
|
||||
@ -173,10 +173,10 @@ a.+c
|
||||
**正则表达式**
|
||||
|
||||
```
|
||||
(?m)^\s*//.*$
|
||||
^\s*\/\/.*$
|
||||
```
|
||||
|
||||
如果没用 (?m),则只会匹配 // 注释 1 以及之后的所有内容。用了分行匹配模式之后,换行符被当成是字符串分隔符,因此能正确匹配出两个注释内容。
|
||||
<div align="center"> <img src="../pics//600e9c75-5033-4dad-ae2b-930957db638e.png"/> </div><br>
|
||||
|
||||
**匹配结果**
|
||||
|
||||
@ -197,7 +197,7 @@ a.+c
|
||||
**正则表达式**
|
||||
|
||||
```
|
||||
(ab) {2,}
|
||||
(ab){2,}
|
||||
```
|
||||
|
||||
**匹配结果**
|
||||
@ -222,21 +222,23 @@ a.+c
|
||||
|
||||
匹配 IP 地址。IP 地址中每部分都是 0-255 的数字,用正则表达式匹配时以下情况是合法的:
|
||||
|
||||
1. 一位或者两位的数字
|
||||
2. 1 开头的三位数
|
||||
3. 2 开头,第 2 位是 0-4 的三位数
|
||||
4. 25 开头,第 3 位是 0-5 的三位数
|
||||
1. 一位数字
|
||||
2. 不以 0 开头的两位数字
|
||||
3. 1 开头的三位数
|
||||
4. 2 开头,第 2 位是 0-4 的三位数
|
||||
5. 25 开头,第 3 位是 0-5 的三位数
|
||||
|
||||
**正则表达式**
|
||||
|
||||
```
|
||||
(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.) {3}(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])))
|
||||
(((\d)|([1-9]\d)|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}(((\d)|([1-9]\d)|(1\d{2})|(2[0-4]\d)|(25[0-5])))
|
||||
```
|
||||
|
||||
**匹配结果**
|
||||
|
||||
1. **192.168.0.1**
|
||||
2. 555.555.555.555
|
||||
2. 00.00.00.00
|
||||
3. 555.555.555.555
|
||||
|
||||
# 八、回溯引用
|
||||
|
||||
@ -251,7 +253,7 @@ a.+c
|
||||
\1 将回溯引用子表达式 (h[1-6]) 匹配的内容,也就是说必须和子表达式匹配的内容一致。
|
||||
|
||||
```
|
||||
<(h[1-6])>\w*?</\1>
|
||||
<(h[1-6])>\w*?<\/\1>
|
||||
```
|
||||
|
||||
**匹配结果**
|
||||
|
Reference in New Issue
Block a user