






















正则表达式基础
Statement
The author USTC-elbitsiserri has no full ownership to the content of this article.
This article is a reorganized and recreated work based on the original resources shared by ych! from the community csdn
It is hereby declared and disclaimed
一图速览本文核心内容

元字符表单
普通字符单个字符,匹配多个时需要添加量词转义| 元字符 | 含义描述 |
|---|---|
| . | 查找除了换行和结束符以外的所有字符 |
| \ | 将下一个字符标记为一个特殊字符,或一个原义字符,或一个引用 |
| / | 正则边界符 |
| ^n | 边界符,匹配任何开头为n的字符串,或者表示非的含义 |
| n$ | 匹配任何结尾为n的字符串 |
| \w | 查找字母、数字、下划线 |
| \W | 查找除了字母、数字、下划线的非单词字符 |
| \d | 查找数字 |
| \D | 查找非数字字符 |
| \s | 查找空白字符 |
| \S | 查找非空白字符 |
| \n | 查找换行符 |
| \r | 查找回车符 |
| 量词 | 表示需要匹配的数量个数 |
| ? | 表示量词或禁止贪婪 |
| [] | 原子表 |
| () | 原子组 |
| 断言匹配 | 相当于匹配条件 |
量词表单
| 量词 | 含义描述 |
|---|---|
| n+ | 匹配任何包含至少一个n的字符串 |
| n* | 匹配任何包含零个或多个n的字符串 |
| n? | 匹配任何包含零个或一个n的字符串 |
| n{X} | 匹配包含X个n的序列的字符串 |
| n{X,Y} | 匹配包含X至Y个n的序列的字符串 |
| n{X,} | 匹配包含至少X个n的序列的字符串 |
模式修正符
| 模式 | 含义描述 |
|---|---|
| i | 不区分大小写 |
| g | 执行全局匹配(意思是查找所有匹配,而非在找到第一个匹配项后就停止。只匹配一个称为不贪婪) |
| m | 执行多匹配模式,使边界字符^和$匹配每一行的开头和结尾 |
原子表
字符簇,表示里面的内容可选。没有中括号就表示完全匹配| 表达式 | 含义描述 |
|---|---|
| [0-9] | 查找任何从0到9的数字 |
| [a-z] | 查找任何从a-z的字符 |
| [abcd] | 查找给定集合内的任何字符 |
| [^abcd] | 查找给定集合外的任何字符 |
原子组
正则表达式中以一对括号()包裹的运算内容称为原子组,但也有的()不是原子组的情况
|
$符号完成引用,$后面加数字n表示第n个原子组,$n表示匹配到的第n个原子组的内容 |
$1,$2不够清晰明了时,可以为原子组起别名 |
贪婪和禁止贪婪
?表示0个或1个,表示可选;除此之外,?还有禁止贪婪的作用 |
断言匹配
| 断言 | 含义描述 |
|---|---|
| ?=n | 匹配任何后面紧跟指定字符串n的字符串 |
| ?!n | 匹配任何后面没有紧跟指定字符串n的字符串 |
| ?<=n | 匹配任何前面紧跟指定字符串n的字符串 |
| ?<!n | 匹配任何前面没有紧跟指定字符串n的字符串 |
比如电话号码的模糊匹配问题
|
正则对象属性lastIndex
|
正则对象的方法
| 方法 | 含义描述 |
|---|---|
| exec | 匹配字符串,返回找到的值,并确定其位置。迭代器,lastIndex |
| test | 在所搜索的字符串中是否存在正则表达式模式对应的匹配。返回 true 或 false。正则验证 |
支持正则表达式的字符串方法
| 方法 | 含义描述 |
|---|---|
| match | 找到一个或多个正则表达式的匹配 |
| replace | 替环正则表达式匹配的子串 |
| split | 根据正则匹配到的内容分割字符串数组 |
| search | 搜索字符串中是否存在满足正则的字串,返回索引值 |
$$\begin{aligned}
\mathscr{THE}\quad\mathscr{END}
\end{aligned}$$
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。