chore: format markdown code. (#42)
* format: fix markdown * update: fix markdown * update: fix cron problems * update: delete .markdownlintignore * update * chore: add tab -> 4 space * chore: fix tab -> 2 in the .editorconfig
This commit is contained in:
		
							
								
								
									
										168
									
								
								docs/regex.md
									
									
									
									
									
								
							
							
						
						
									
										168
									
								
								docs/regex.md
									
									
									
									
									
								
							@@ -33,7 +33,6 @@ RegEX 备忘清单
 | 
			
		||||
`[a-zA-Z]`    | 范围内的字符:<br>`a-z` 或 `A-Z`
 | 
			
		||||
`[a-zA-Z0-9]` | 范围内的字符:<br>`a-z`、`A-Z` 或 `0-9`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 量词
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
@@ -115,7 +114,6 @@ RegEX 备忘清单
 | 
			
		||||
`[\b]`       | 退格字符
 | 
			
		||||
`\`          | 使任何字符文字
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 锚点
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
@@ -129,7 +127,6 @@ RegEX 备忘清单
 | 
			
		||||
`\b`    | 一个词的边界
 | 
			
		||||
`\B`    | 非单词边界
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 替代
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
@@ -210,8 +207,8 @@ RegEX 备忘清单
 | 
			
		||||
`(?!...)`  | 负先行断言
 | 
			
		||||
`(?<=...)` | 正后发断言
 | 
			
		||||
`(?<!...)` | 负后发断言
 | 
			
		||||
`?= `|正先行断言-存在
 | 
			
		||||
`?! `|负先行断言-排除
 | 
			
		||||
`?=`|正先行断言-存在
 | 
			
		||||
`?!`|负先行断言-排除
 | 
			
		||||
`?<=`|正后发断言-存在
 | 
			
		||||
`?<!`|负后发断言-排除
 | 
			
		||||
 | 
			
		||||
@@ -244,30 +241,30 @@ RegEX 备忘清单
 | 
			
		||||
 | 
			
		||||
:-|-
 | 
			
		||||
:-|-
 | 
			
		||||
`(*ACCEPT)`            | 控制动词 
 | 
			
		||||
`(*FAIL)`              | 控制动词 
 | 
			
		||||
`(*MARK:NAME)`         | 控制动词 
 | 
			
		||||
`(*COMMIT)`            | 控制动词 
 | 
			
		||||
`(*PRUNE)`             | 控制动词 
 | 
			
		||||
`(*SKIP)`              | 控制动词 
 | 
			
		||||
`(*THEN)`              | 控制动词 
 | 
			
		||||
`(*UTF)`               | 图案修饰符 
 | 
			
		||||
`(*UTF8)`              | 图案修饰符 
 | 
			
		||||
`(*UTF16)`             | 图案修饰符 
 | 
			
		||||
`(*UTF32)`             | 图案修饰符 
 | 
			
		||||
`(*UCP)`               | 图案修饰符 
 | 
			
		||||
`(*CR)`                | 换行修饰符 
 | 
			
		||||
`(*LF)`                | 换行修饰符 
 | 
			
		||||
`(*CRLF)`              | 换行修饰符 
 | 
			
		||||
`(*ANYCRLF)`           | 换行修饰符 
 | 
			
		||||
`(*ANY)`               | 换行修饰符 
 | 
			
		||||
`\R`                   | 换行修饰符 
 | 
			
		||||
`(*BSR_ANYCRLF)`       | 换行修饰符 
 | 
			
		||||
`(*BSR_UNICODE)`       | 换行修饰符 
 | 
			
		||||
`(*LIMIT_MATCH=x)`     | 正则表达式引擎修饰符 
 | 
			
		||||
`(*LIMIT_RECURSION=d)` | 正则表达式引擎修饰符 
 | 
			
		||||
`(*NO_AUTO_POSSESS)`   | 正则表达式引擎修饰符 
 | 
			
		||||
`(*NO_START_OPT)`      | 正则表达式引擎修饰符 
 | 
			
		||||
`(*ACCEPT)`            | 控制动词
 | 
			
		||||
`(*FAIL)`              | 控制动词
 | 
			
		||||
`(*MARK:NAME)`         | 控制动词
 | 
			
		||||
`(*COMMIT)`            | 控制动词
 | 
			
		||||
`(*PRUNE)`             | 控制动词
 | 
			
		||||
`(*SKIP)`              | 控制动词
 | 
			
		||||
`(*THEN)`              | 控制动词
 | 
			
		||||
`(*UTF)`               | 图案修饰符
 | 
			
		||||
`(*UTF8)`              | 图案修饰符
 | 
			
		||||
`(*UTF16)`             | 图案修饰符
 | 
			
		||||
`(*UTF32)`             | 图案修饰符
 | 
			
		||||
`(*UCP)`               | 图案修饰符
 | 
			
		||||
`(*CR)`                | 换行修饰符
 | 
			
		||||
`(*LF)`                | 换行修饰符
 | 
			
		||||
`(*CRLF)`              | 换行修饰符
 | 
			
		||||
`(*ANYCRLF)`           | 换行修饰符
 | 
			
		||||
`(*ANY)`               | 换行修饰符
 | 
			
		||||
`\R`                   | 换行修饰符
 | 
			
		||||
`(*BSR_ANYCRLF)`       | 换行修饰符
 | 
			
		||||
`(*BSR_UNICODE)`       | 换行修饰符
 | 
			
		||||
`(*LIMIT_MATCH=x)`     | 正则表达式引擎修饰符
 | 
			
		||||
`(*LIMIT_RECURSION=d)` | 正则表达式引擎修饰符
 | 
			
		||||
`(*NO_AUTO_POSSESS)`   | 正则表达式引擎修饰符
 | 
			
		||||
`(*NO_START_OPT)`      | 正则表达式引擎修饰符
 | 
			
		||||
 | 
			
		||||
正则表达式示例
 | 
			
		||||
--------------
 | 
			
		||||
@@ -276,26 +273,25 @@ RegEX 备忘清单
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
:-|-
 | 
			
		||||
`ring        ` | 匹配 <yel>ring</yel> sp<yel>ring</yel>board 等。 
 | 
			
		||||
`.           ` | 匹配 <yel>a</yel>、<yel>9</yel>、<yel>+</yel> 等。 
 | 
			
		||||
`h.o         ` | 匹配 <yel>hoo</yel>、<yel>h2o</yel>、<yel>h/o</yel> 等。 
 | 
			
		||||
`ring\?      ` | 匹配 <yel>ring?</yel> 
 | 
			
		||||
`\(quiet\)   ` | 匹配<yel>(安静)</yel> 
 | 
			
		||||
`c:\\windows ` | 匹配 <yel>c:\windows</yel> 
 | 
			
		||||
`ring` | 匹配 <yel>ring</yel> sp<yel>ring</yel>board 等。
 | 
			
		||||
`.` | 匹配 <yel>a</yel>、<yel>9</yel>、<yel>+</yel> 等。
 | 
			
		||||
`h.o` | 匹配 <yel>hoo</yel>、<yel>h2o</yel>、<yel>h/o</yel> 等。
 | 
			
		||||
`ring\?` | 匹配 <yel>ring?</yel>
 | 
			
		||||
`\(quiet\)` | 匹配<yel>(安静)</yel>
 | 
			
		||||
`c:\\windows` | 匹配 <yel>c:\windows</yel>
 | 
			
		||||
 | 
			
		||||
使用 `\` 搜索这些特殊字符:<br> `[ \ ^ $ . | ? * + ( ) { }`
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 速记类
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
:-|-
 | 
			
		||||
`\w            ` | “单词”字符 <br> _(字母、数字或下划线)_ 
 | 
			
		||||
`\d            ` | 数字 
 | 
			
		||||
`\s            ` | 空格 <br> _(空格、制表符、vtab、换行符)_ 
 | 
			
		||||
`\W, \D, or \S ` | 不是单词、数字或空格 
 | 
			
		||||
`[\D\S]        ` | 表示不是数字或空格,两者都匹配 
 | 
			
		||||
`[^\d\s]       ` | 禁止数字和空格 
 | 
			
		||||
`\w` | “单词”字符 <br> _(字母、数字或下划线)_
 | 
			
		||||
`\d` | 数字
 | 
			
		||||
`\s` | 空格 <br> _(空格、制表符、vtab、换行符)_
 | 
			
		||||
`\W, \D, or \S` | 不是单词、数字或空格
 | 
			
		||||
`[\D\S]` | 表示不是数字或空格,两者都匹配
 | 
			
		||||
`[^\d\s]` | 禁止数字和空格
 | 
			
		||||
 | 
			
		||||
### 出现次数
 | 
			
		||||
 | 
			
		||||
@@ -311,9 +307,9 @@ RegEX 备忘清单
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
:-|-
 | 
			
		||||
`cat\|dog     ` | 匹配 <yel>cat</yel> 或 <yel>dog</yel>
 | 
			
		||||
`id\|identity ` | 匹配 <yel>id</yel> 或 <yel>id</yel>entity
 | 
			
		||||
`identity\|id ` | 匹配 <yel>id</yel> 或 <yel>identity</yel>
 | 
			
		||||
`cat\|dog` | 匹配 <yel>cat</yel> 或 <yel>dog</yel>
 | 
			
		||||
`id\|identity` | 匹配 <yel>id</yel> 或 <yel>id</yel>entity
 | 
			
		||||
`identity\|id` | 匹配 <yel>id</yel> 或 <yel>identity</yel>
 | 
			
		||||
 | 
			
		||||
当替代品重叠时,命令从长到短
 | 
			
		||||
 | 
			
		||||
@@ -334,7 +330,7 @@ RegEX 备忘清单
 | 
			
		||||
范例 | 说明
 | 
			
		||||
:-|-
 | 
			
		||||
`*  + {n,}`<br>_greedy_  | 尽可能匹配
 | 
			
		||||
`<.+>   `                | 在 <yel>\<b>bold\<\/b></yel> 中找到 1 个大匹配项
 | 
			
		||||
`<.+>`                | 在 <yel>\<b>bold\<\/b></yel> 中找到 1 个大匹配项
 | 
			
		||||
`*?  +? {n,}?`<br>_lazy_ | 尽可能少匹配
 | 
			
		||||
`<.+?>`                  | 在 \<<yel>b</yel>>bold\<<yel>\/b</yel>> 中找到 2 个匹配项
 | 
			
		||||
 | 
			
		||||
@@ -343,20 +339,19 @@ RegEX 备忘清单
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
:-|-
 | 
			
		||||
`\b              ` | “单词”边缘(非“单词”字符旁边)
 | 
			
		||||
`\bring          ` | 单词以“ring”开头,例如 <yel>ringtone</yel>
 | 
			
		||||
`ring\b          ` | 单词以“ring”结尾,例如 <yel>spring</yel>
 | 
			
		||||
`\b9\b           ` | 匹配单个数字 <yel>9</yel>,而不是 19、91、99 等。
 | 
			
		||||
`\b[a-zA-Z]{6}\b ` | 匹配 6 个字母的单词
 | 
			
		||||
`\B              ` | 不是字边
 | 
			
		||||
`\Bring\B        ` | 匹配 <yel>springs</yel> 和 <yel>wringer</yel>
 | 
			
		||||
`^\d*$           ` | 整个字符串必须是数字
 | 
			
		||||
`\b` | “单词”边缘(非“单词”字符旁边)
 | 
			
		||||
`\bring` | 单词以“ring”开头,例如 <yel>ringtone</yel>
 | 
			
		||||
`ring\b` | 单词以“ring”结尾,例如 <yel>spring</yel>
 | 
			
		||||
`\b9\b` | 匹配单个数字 <yel>9</yel>,而不是 19、91、99 等。
 | 
			
		||||
`\b[a-zA-Z]{6}\b` | 匹配 6 个字母的单词
 | 
			
		||||
`\B` | 不是字边
 | 
			
		||||
`\Bring\B` | 匹配 <yel>springs</yel> 和 <yel>wringer</yel>
 | 
			
		||||
`^\d*$` | 整个字符串必须是数字
 | 
			
		||||
`^[a-zA-Z]{4,20}$` | 字符串必须有 4-20 个字母
 | 
			
		||||
`^[A-Z]          ` | 字符串必须以大写字母开头
 | 
			
		||||
`[\.!?"')]$      ` | 字符串必须以终端标点结尾
 | 
			
		||||
`^[A-Z]` | 字符串必须以大写字母开头
 | 
			
		||||
`[\.!?"')]$` | 字符串必须以终端标点结尾
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 修饰 
 | 
			
		||||
### 修饰
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
:-|-
 | 
			
		||||
@@ -371,8 +366,8 @@ RegEX 备忘清单
 | 
			
		||||
 | 
			
		||||
范例 | 说明
 | 
			
		||||
:-|-
 | 
			
		||||
`(in\|out)put  ` | 匹配 <yel>input</yel> 或 <yel>output</yel> 
 | 
			
		||||
`\d{5}(-\d{4})?` | 美国邮政编码 _(“+ 4”可选)_ 
 | 
			
		||||
`(in\|out)put` | 匹配 <yel>input</yel> 或 <yel>output</yel>
 | 
			
		||||
`\d{5}(-\d{4})?` | 美国邮政编码 _(“+ 4”可选)_
 | 
			
		||||
 | 
			
		||||
如果组后匹配失败,解析器会尝试每个替代方案。
 | 
			
		||||
<br>
 | 
			
		||||
@@ -417,11 +412,10 @@ RegEX 备忘清单
 | 
			
		||||
`(?<! )`                | 向后看,如果你找不到后面
 | 
			
		||||
`\b\w+?(?=ing\b)`       | 匹配 <yel>warbl</yel>ing, <yel>str</yel>ing, <yel>fish</yel>ing, ...
 | 
			
		||||
`\b(?!\w+ing\b)\w+\b`   | 不以“ing”结尾的单词
 | 
			
		||||
`(?<=\bpre).*?\b `      | 匹配 pre<yel>tend</yel>、pre<yel>sent</yel>、pre<yel>fix</yel>、...
 | 
			
		||||
`(?<=\bpre).*?\b`      | 匹配 pre<yel>tend</yel>、pre<yel>sent</yel>、pre<yel>fix</yel>、...
 | 
			
		||||
`\b\w{3}(?<!pre)\w*?\b` | 不以“pre”开头的词
 | 
			
		||||
`\b\w+(?<!ing)\b`       | 匹配不以“ing”结尾的单词
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### If-then-else
 | 
			
		||||
 | 
			
		||||
匹配 `Mr.` 或 `Ms.` 如果单词 `her` 稍后在字符串中
 | 
			
		||||
@@ -649,8 +643,8 @@ M(?(?=.*?\bher\b)s|r)\.
 | 
			
		||||
 | 
			
		||||
表达式 | 匹配示例
 | 
			
		||||
:- | -
 | 
			
		||||
`/(.*at)/` | `The fat cat sat on the mat`. 
 | 
			
		||||
`/(.*?at)/` | `The fat` cat sat on the mat. 
 | 
			
		||||
`/(.*at)/` | `The fat cat sat on the mat`.
 | 
			
		||||
`/(.*?at)/` | `The fat` cat sat on the mat.
 | 
			
		||||
<!--rehype:className=show-header-->
 | 
			
		||||
 | 
			
		||||
Python 中的正则表达式
 | 
			
		||||
@@ -664,7 +658,6 @@ Python 中的正则表达式
 | 
			
		||||
import re
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 实例
 | 
			
		||||
<!--rehype:wrap-class=col-span-2 row-span-3-->
 | 
			
		||||
 | 
			
		||||
@@ -736,11 +729,8 @@ False
 | 
			
		||||
`re.compile`  | 编译正则表达式模式供以后使用
 | 
			
		||||
`re.escape`   | 返回所有非字母数字反斜杠的字符串
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### Flags 标志
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
:- | - | -
 | 
			
		||||
:- | - | -
 | 
			
		||||
`re.I` | `re.IGNORECASE` | 忽略大小写
 | 
			
		||||
@@ -750,8 +740,6 @@ False
 | 
			
		||||
`re.U` | `re.UNICODE`    | 使 `\w`、`\b`、`\d`、`\s` _unicode 依赖_
 | 
			
		||||
`re.X` | `re.VERBOSE`    | 可读风格
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
JavaScript 中的正则表达式
 | 
			
		||||
---------------
 | 
			
		||||
 | 
			
		||||
@@ -830,7 +818,7 @@ let regex = /apples/gi;
 | 
			
		||||
console.log(text.match(regex));
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
### split() 
 | 
			
		||||
### split()
 | 
			
		||||
<!--rehype:wrap-class=col-span-2-->
 | 
			
		||||
 | 
			
		||||
```javascript
 | 
			
		||||
@@ -894,14 +882,12 @@ text.replaceAll(regex, "mangoes");
 | 
			
		||||
```
 | 
			
		||||
<!--rehype:className=wrap-text-->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
PHP中的正则表达式
 | 
			
		||||
------------
 | 
			
		||||
 | 
			
		||||
### 函数
 | 
			
		||||
<!--rehype:wrap-class=col-span-2-->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
:- | -
 | 
			
		||||
:- | -
 | 
			
		||||
`preg_match()`            | 执行正则表达式匹配
 | 
			
		||||
@@ -911,7 +897,6 @@ PHP中的正则表达式
 | 
			
		||||
`preg_split()`            | 按正则表达式模式拆分字符串
 | 
			
		||||
`preg_grep()`             | 返回与模式匹配的数组条目
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### preg_replace
 | 
			
		||||
 | 
			
		||||
```php
 | 
			
		||||
@@ -923,7 +908,6 @@ echo preg_replace($regex, "QuickRef", $str);
 | 
			
		||||
```
 | 
			
		||||
<!--rehype:className=wrap-text-->
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### preg_match
 | 
			
		||||
 | 
			
		||||
```php
 | 
			
		||||
@@ -933,7 +917,6 @@ $regex = "#quickref#i";
 | 
			
		||||
echo preg_match($regex, $str);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### preg_matchall
 | 
			
		||||
<!--rehype:wrap-class=col-span-2 row-span-2-->
 | 
			
		||||
 | 
			
		||||
@@ -952,17 +935,15 @@ if (preg_match_all($regex, $input_str, $matches_out)) {
 | 
			
		||||
}
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### preg_grep
 | 
			
		||||
 | 
			
		||||
```php 
 | 
			
		||||
```php
 | 
			
		||||
$arr = ["Jane", "jane", "Joan", "JANE"];
 | 
			
		||||
$regex = "/Jane/";
 | 
			
		||||
// Output: Jane
 | 
			
		||||
echo preg_grep($regex, $arr);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### preg_split
 | 
			
		||||
<!--rehype:wrap-class=col-span-2-->
 | 
			
		||||
 | 
			
		||||
@@ -973,7 +954,6 @@ $regex = "@\s@";
 | 
			
		||||
print_r(preg_split($regex, $str));
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
Java 中的正则表达式
 | 
			
		||||
-------------
 | 
			
		||||
 | 
			
		||||
@@ -1003,10 +983,8 @@ boolean s3 = Pattern.matches(".s", "XXXX");
 | 
			
		||||
System.out.println(s3);   // Outputs: false
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 模式字段
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
:- | -
 | 
			
		||||
:- | -
 | 
			
		||||
`CANON_EQ`         | 规范等价
 | 
			
		||||
@@ -1017,7 +995,6 @@ System.out.println(s3);   // Outputs: false
 | 
			
		||||
`UNICODE_CASE`     | Unicode 感知大小写折叠
 | 
			
		||||
`UNIX_LINES`       | Unix 行模式
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 方法
 | 
			
		||||
 | 
			
		||||
#### Pattern
 | 
			
		||||
@@ -1029,10 +1006,10 @@ System.out.println(s3);   // Outputs: false
 | 
			
		||||
 | 
			
		||||
#### 匹配器
 | 
			
		||||
 | 
			
		||||
- int start([int group | 字符串名称]) 
 | 
			
		||||
- int end([int group | 字符串名称]) 
 | 
			
		||||
- int start([int group | 字符串名称])
 | 
			
		||||
- int end([int group | 字符串名称])
 | 
			
		||||
- 布尔 find([int start])
 | 
			
		||||
- 字符 group([int 组 | 字符串名称]) 
 | 
			
		||||
- 字符 group([int 组 | 字符串名称])
 | 
			
		||||
- 匹配器重置 reset()
 | 
			
		||||
 | 
			
		||||
#### String
 | 
			
		||||
@@ -1043,7 +1020,6 @@ System.out.println(s3);   // Outputs: false
 | 
			
		||||
 | 
			
		||||
还有更多方法...
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### 例子
 | 
			
		||||
<!--rehype:wrap-class=col-span-2-->
 | 
			
		||||
 | 
			
		||||
@@ -1073,7 +1049,6 @@ while (m.find()) {
 | 
			
		||||
System.out.println(matches);
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
MySQL中的正则表达式
 | 
			
		||||
-------------
 | 
			
		||||
<!--rehype:body-class=cols-2-->
 | 
			
		||||
@@ -1082,15 +1057,14 @@ MySQL中的正则表达式
 | 
			
		||||
 | 
			
		||||
函数名称 | 说明
 | 
			
		||||
:- | -
 | 
			
		||||
`REGEXP          ` | 字符串是否匹配正则表达式
 | 
			
		||||
`REGEXP_INSTR()  ` | 匹配正则表达式的子字符串的起始索引 <br>_(注意:仅限 MySQL 8.0+)_
 | 
			
		||||
`REGEXP_LIKE()   ` | 字符串是否匹配正则表达式 <br>_(注意:仅 MySQL 8.0+)_
 | 
			
		||||
`REGEXP` | 字符串是否匹配正则表达式
 | 
			
		||||
`REGEXP_INSTR()` | 匹配正则表达式的子字符串的起始索引 <br>_(注意:仅限 MySQL 8.0+)_
 | 
			
		||||
`REGEXP_LIKE()` | 字符串是否匹配正则表达式 <br>_(注意:仅 MySQL 8.0+)_
 | 
			
		||||
`REGEXP_REPLACE()` | 替换匹配正则表达式的子字符串 <br>_(注意:仅限 MySQL 8.0+)_
 | 
			
		||||
`REGEXP_SUBSTR() ` | 返回匹配正则表达式的子字符串 <br>_(注意:仅 MySQL 8.0+)_
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
`REGEXP_SUBSTR()` | 返回匹配正则表达式的子字符串 <br>_(注意:仅 MySQL 8.0+)_
 | 
			
		||||
 | 
			
		||||
### REGEXP
 | 
			
		||||
 | 
			
		||||
```sql
 | 
			
		||||
expr REGEXP pat 
 | 
			
		||||
```
 | 
			
		||||
@@ -1107,7 +1081,6 @@ mysql> SELECT 'a' REGEXP 'A', 'a' REGEXP BINARY 'A';
 | 
			
		||||
1   0
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### REGEXP_REPLACE
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
@@ -1123,7 +1096,6 @@ mysql> SELECT REGEXP_REPLACE('abc ghi', '[a-z]+', 'X', 1, 2);
 | 
			
		||||
abc X
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### REGEXP_SUBSTR
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
@@ -1139,8 +1111,7 @@ mysql> SELECT REGEXP_SUBSTR('abc def ghi', '[a-z]+', 1, 3);
 | 
			
		||||
ghi
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### REGEXP_LIKE 
 | 
			
		||||
### REGEXP_LIKE
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
REGEXP_LIKE(expr, pat[, match_type])
 | 
			
		||||
@@ -1161,7 +1132,6 @@ mysql> SELECT regexp_like('a\nb\nc', '^b$', 'm');
 | 
			
		||||
1
 | 
			
		||||
```
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
### REGEXP_INSTR
 | 
			
		||||
 | 
			
		||||
```
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user