正则表达式
1.1定义
正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
1.2几种常见的匹配规则
\w匹配任意一个字母,数字,下划线
\W匹配任意一个除字母,数字,下划线之外的任意一个字符
\d匹配任意一个十进制数
\D匹配任意一个除十进制数外的任意一个数字
\s匹配任意一个空白字符
\S匹配任意一个除空白字符外的任意一个字符
.匹配除换行符以外的任意字符
^匹配字符串的开始位置
$匹配字符串的结束位置k
*匹配0次,1次或多次前面的原子
?匹配0次或1次前面的原子
+匹配1次或多次前面的原子
{n}前面的原子恰好出现n次
{n,}前面的原子最少出现n次
{n,m}前面的原子最少出现n次,最多出现m次
|模式选择符
()模式单元符
1.3示例
正则表达式可以用在绝大多数的编程语言中,以python为例,在python库中,有一个re库,利用这个库,可以在python中使用正则表达式.
前面说了这么多匹配原则,那让我们看看什么正则表达式是怎样用的
import re
#正则表达式
part1 = 'baidu'
url1 = 'http://www.baidu.com'
result1 = re.search(part1,url1)
print(result1)
re.search的含义是在字符串url1中寻找字符串part1.
运行结果:
匹配换行符"\n"
part2 = '\n'
url2 = '''https://www.
bilibili.com'''
result2 = re.search(part2,url2)
print(result2)
如果目标字符串中含有换行符,返回返回换行符在字符串中的位置,否则返回None
运行结果:
匹配字母,数字,下划线时可以用\w来实现
匹配十进制数字可以用\d来实现
匹配除字母,数字,下划线的其他字符,可以用\W来实现
part3 = '\w\dpython\W'
url3 = 'fdhks_1python..'
result3 = re.search(part3,url3)
print(result3)
\w\dpython\W表示首先匹配一个字母或者数字或者下划线的字符,再接着匹配一个十进制字符,再匹配字符串’python’,最后匹配除十进制以外的任何数字.
运行结果:
当正则表达式中出现[xyz]时,表示只要匹配到[xyz]中任意一个字符就可以,x或者y或者z.
part4 = '[xyz]python'
url4 = 'fasdzpythonfd'
result4 = re.search(part4,url4)
print(result4)
运行结果:
当正则表达式中出现[^xyz]时,表示只要不是x,y,z中的任意一个就行.
part5 = '[^xyz]python'
url5 = 'fasfdgpythonvcx'
result5 = re.search(part5,url5)
print(result5)
运行结果: