Regular Expression
定义
- 定义:正则表达式是一组由字母和符号组成的特殊文本,它可以用来从文本中找出满足你想要的格式的句子。一个正则表达式是一种从左到右匹配主体字符串的模式
- github地址
基本匹配
- 一个正则表达式 the,它表示一个规则:由字母t开始,接着是h,再接着是e
1
"the" => The fat cat sat on the mat.
- 练习地址
元字符
正则表达式主要依赖于元字符。 元字符不代表他们本身的字面意思,他们都有特殊的含义。一些元字符写在方括号中的时候有一些特殊的意思。以下是一些元字符的介绍:
元字符 | 描述 |
---|---|
. | 句号匹配任意单个字符除了换行符。 |
[ ] | 字符种类。匹配方括号内的任意字符。 |
[^ ] | 否定的字符种类。匹配除了方括号里的任意字符 |
* | 匹配>=0个重复的在*号之前的字符。 |
+ | 匹配>=1个重复的+号前的字符。 |
? | 标记?之前的字符为可选. |
{n,m} | 匹配num个大括号之前的字符或字符集 (n <= num <= m). |
(xyz) | 字符集,匹配与 xyz 完全相等的字符串. |
| | 或运算符,匹配符号前或后的字符. |
\ | 转义字符,用于匹配一些保留的字符 [ ] ( ) { } . * + ? ^ $
| |
^ | 从开始行开始匹配. |
$ | 从末端开始匹配. |
简写字符集
正则表达式提供一些常用的字符集简写。如下:
简写 | 描述 |
---|---|
. | 除换行符外的所有字符. |
\w |
匹配所有字母数字,等同于 [a-zA-Z0-9_] . |
\W |
匹配所有非字母数字,即符号,等同于: [^\w] . |
\d |
匹配数字: [0-9] . |
\D |
匹配非数字: [^\d] . |
\s |
匹配所有空格字符,等同于: [\t\n\f\r\p{Z}] . |
\S |
匹配所有非空格字符: [^\s] . |
\f |
匹配一个换页符. |
\n |
匹配一个换行符. |
\r |
匹配一个回车符. |
\t |
匹配一个制表符. |
\v |
匹配一个垂直制表符. |
\p |
匹配 CR/LF(等同于 \r\n ),用来匹配 DOS 行终止符 |
标志
标志也叫模式修正符,因为它可以用来修改表达式的搜索结果。 这些标志可以任意的组合使用,它也是整个正则表达式的一部分。
标志 | 描述 |
---|---|
i | 忽略大小写。 |
g | 全局搜索。 |
m | 多行修饰符:锚点元字符 ^ $
工作范围在每行的起始。 |