注:正则表达式其实很简单,不要被身边的人带偏奥。
Python下的(正则表达式)
简单理解:正则表达式就是描述一些规则,用来匹配字符串的。
列如:在DOS下,输入“dir *.txt”按Enter键后,当前文件夹下的所有‘“.txt”文件将会被列出来。这里的“ *.txt”可以理解为一个简单的正则表达式。
1.1.行定位符(区分字母大小写)
行定位符用来描述字符串的边界,“^”表示行的开始,“$”表示行的结尾。
列如:
^tm -----------表示匹配字符串tm开始的位置,就是行头是tm的
tm$ -----------表示字符串的结束位置tm,就是行的结束是tm的
1.2元字符
\bmr\w*\b --------匹配以字母mr开头的单词
(\b)匹配单词开始(mr)匹配的字母(\w*)匹配任意数量的字母或数字或下划线或汉字(\b)匹配字母结束
常用的元字符:
代码 | 说明 |
---|---|
. | 匹配除换行符以为的任意字符 |
\w | 匹配字母或数字或下划线或汉字 |
\s | 匹配任意的空白符 |
\d | 匹配数字 |
\b | 匹配单词的开始或结束 |
^ | 匹配字符串的开始 |
%$ | 匹配字符串的结束 |
1.3重复
正则表达式为我们提供了限定符,用来实现匹配指定数量的字符
^\d{8}$ —在\d匹配数字----{8}限定8个-----$结束-------
表示匹配八位数字。
常用的限定符:
限定符 | 说明 |
---|---|
? | 匹配前面的字符零次或一次 |
+ | 匹配前面的字符一次或多次 |
* | 匹配前面的字符零次或多次 |
{n} | 匹配前面的字符n次 |
{n,} | 匹配前面的字符最少n次 |
n,m | 匹配前面的字符最少n次,最多m次 |
1.4字符类
正则表达式查找数字和字母很简单,是因为已经有了对应这些字符集合的元字符(\d,\w等)如果要匹配没有预定义元字符的集合,应该怎么办
办法:[要匹配的东西]
列如:[aeiou]—匹配任何一个英文元音字母
/ - - **[2365109]----匹配任何一个里面的数字