什么是正则表达式?
- 1. 什么是正则表达式?
- 2. 基本匹配
- 3. 元字符
1. 什么是正则表达式?
正则表达式是⼀组由字⺟和符号组成的特殊⽂本,它可以⽤来从⽂本中找出满⾜你想要的格式的句⼦。
⼀个正则表达式是⼀种从左到右匹配主体字符串的模式。
“Regular expression”这个词⽐较拗⼝,我们常使⽤缩写的术语“regex”或“regexp”。
正则表达式可以从⼀个基础字符串中根据⼀定的匹配模式替换⽂本中的字符串、验证表单、提取字符串等等。
想象你正在写⼀个应⽤,然后你想设定⼀个⽤户命名的规则,让⽤户名包含字符、数字、下划线和连字符,以及限制字符的个数,好让名字看起来没那么丑。
我们使⽤以下正则表达式来验证⼀个⽤户名:
以上的正则表达式可以接受 john_doe 、 jo-hn_doe 、 john12_as 。但不匹配 Jo ,因为它包含了⼤写的字⺟⽽且太短了。
其意思就是用来匹配3到15个都是a到z、0到9、-、_里面的某个字符组成的字符串,开头是、结尾也是。
2. 基本匹配
正则表达式其实就是在执⾏搜索时的格式,它由⼀些字⺟和数字组合⽽成。
例如:⼀个正则表达式 the ,它表示⼀个规则:由字⺟ t 开始,接着是 h ,再接着是 e 。
"the" => The fat cat sat on the mat.
所以它匹配的是the,因为正则表达式是大小写敏感的,所以 the 不会匹配 The。
又比如正则表达式 123 匹配字符串 123 。它逐个字符的与输⼊的正则表达式做⽐较。
3. 元字符
正则表达式主要依赖于元字符。
元字符不代表他们本身的字⾯意思,他们都有特殊的含义。⼀些元字符写在⽅括号中的时候有⼀些特殊的意思。以下是⼀些元字符的介绍:
元字符 | 描述 |
---|---|
. | 句号匹配任意的那个字符除了换行符 |
[ ] | 字符种类。匹配方括号里面的任何字符 |
[^ ] | 否定的字符种类。匹配除了方括号里的任何字符 |
* | 匹配大于等于0个重复的在*号之前的字符 |
+ | 匹配>=1个重复的+号前的字符。 |
? | 标记?之前的字符为可选. |
{n,m} | 匹配num个⼤括号之前的字符或字符集 (n <= num <= m). |
(xyz) | 字符集,匹配与 xyz 完全相等的字符串. |
| | 或运算符,匹配符号前或后的字符. |
\ | 转义字符,⽤于匹配⼀些保留的字符 [ ] ( ) { } . * + ? ^ $ \ |
^ | 从开始⾏开始匹配. |
$ | 从末端开始匹配. |
运算符示例
正则匹配字符集
参考:正则表达式深入浅出
更多推荐
什么是正则表达式?
发布评论