正则表达式
2018-09-02 本文已影响24人
HHHHUA
正则表达式的使用
1. 正则表达式语法
1.1. 正则表达式,是一个单独的技术!
正则表达式,有独立的语法结构,区别于其他的编程语言或者程序软件
正则表达式又是一个对于字符串处理非常高效的工具语言——数据描述语言
PYTHON/Java/C/c++/c#--> 数据编程语言
HTML -> 数据标记语言
正则表达式目标:处理字符串[查询匹配操作]
所以很多编程语言、软件程序、操作系统,支持正则表达式对于字符串的处理操作
学习任何编程语言、软件程序、操作系统 ~ 正则表达式的支持!
如今:只要是一个比较主流的操作工具[语言、软件、系统、平台、网络、硬件..]-> 都需要支持正则表达式的操作,-> 提高这些工具的处理效率
1.2. 关于正则表达式语法
正则表达式,处理查询匹配字符串的一个描述语言
本身就是一个字符串-> 特殊的字符串-> 可以描述一个字符串的格式
描述格式:使用通用的语法
正则表达式的基本语法结构
语法 | 描述 | |
---|---|---|
^ | 匹配一个字符串的开头位置 | |
$ | 匹配一个字符串的结束位置 | |
. | 匹配任意一个字符 | |
\d | 匹配任意一个数字 | |
\D | 匹配任意一个非数字 | |
\s | 匹配任意一个空白字符 | |
\S | 匹配任意一个非空白字符 | |
\w | 匹配任意一个数字或者字母或者下划线 | |
\W | 匹配任意一个数字/字母/下划线之外的字符 | |
\b | 匹配任意一个单词的边界 python on china\bon\b | |
\B | 匹配任意一个非边界 | |
[abc] | 匹配字符a或者b或者c出现了1次 | |
[0-9] | 匹配任意一个0~9之间的数字,等同于\d | |
[0-5] | 匹配任意一个0~5之间的数字 | |
[0-10] | 匹配一个0-1的数字或者0 | |
[a-z] | 匹配任意一个小写字母 | |
[A-Z] | 匹配任意一个大写字母 | |
[A-Za-z] | 匹配任意一个字母 | |
[0-9A-Za-z_] | 匹配任意一个数字或者字母或者下线,等同\w | |
[^0-9] | 匹配任意一个非数字,等同于 \D | |
X* | 匹配x出现了0次或者多次 | |
X+ | 匹配x出现了1次或者多次 | |
X? | 匹配x出现了0次或者1次 | |
X{m} | 匹配x出现了m次 | |
X{m,n} | 匹配x至少出现了m次,最多出现了n次 | |
X{m,} | ||
x{,n} | ||
(abc) | 分组,将abc作为一个整体进行匹配 | |
(abc | def) | 用于匹配abc或者def出现了一次 |
a | 匹配字符a出现了1次 | |
Expression | 表示贪婪匹配,尽可能多的匹配数据;匹配效率高、可能会匹配到垃圾数据 | |
Expression? | 表示懒惰匹配/非贪婪匹配,精确数据匹配过程匹配效率较高,匹配到精确数据 | |
(?P<name>exp) | 进行分组匹配exp数据,将匹配到的数据(组)命名为name可以通过name名称直接获取该组的数据 |