初识python正则表达式
python中字符串前面加上r表示原生字符串
与大多数编程语言相同,正则表达式
————————————————————————————————————
反斜杠:
在python正则表达式中
第一个\代表转意不是反斜杠
如果要匹配出一个\
就需要两个\\
第二个代表\本身
例如:
import re
f=re.match('.','\\')
if f:
	print(f.group())
else:
	print('匹配失败')
如果要匹配两个\就需要四个\\\\
打一个\或者三个\是错误的  会报错  因为是转义符 后面要跟内容
有一个\后面就要跟转意的符号  单字符匹配的是\加后面的一个字符
————————————————————————————————————————
匹配方法:
首先要引入模块
import re
re.match()能够匹配出xxx字符串
例如:
f=re.match('你要查找的字符串里的内容给出条件','字符串')
输出时 print(f.group()) 才能输出你找的内容
字符			功能
.			匹配任意一个字符(除了\n)
[]			匹配[]中列举的字符  如([0-9]表示0-9的数字,[0-9a-z_]表示可匹配范围是数字0-9,字母a-z还有下划线
\d			匹配数字 即0-9
\D			匹配非数字
\s			匹配空白 即空白,tab键
\S			匹配非空白
\w			匹配单词字符,即a-z,A-Z,0-9,_
\W			匹配非字符 如@,#,。
上面这些一个只能匹配一个字符,匹配多个就要重复写
例如要匹配出123 就要写\d\d\d
f=re.match('\d\d\d','1234')
print(f.group())
————————————————————————————————
匹配分组:
字符 功能
|			匹配左右任意一个表达式,如果左边的表达式是错误的可以匹配右边的,两边都正确用左边的
(a|b)			将括号中的字符作为一个分组,找满足其中的任意一个即可匹配成功
例如:
import re
f=re.match('(1|2)','12')
print(f.group())
结果为1
左边的为先
————————————————————————————————
匹配开头结尾:
字符 功能
^			匹配字符串开头
$			匹配字符串结尾
例如:
匹配出开头是html,结尾是.com的字符串
a=['html:baidu@.com','html:123@.sdr','httlbaidu@.com']
import re
for x in a:
    f=re.match('^html.[\w]*@.com$',x)
    if f:
        print(f.group())
    else:
        print('错误')
结果是:
html:baidu@.com
错误
错误
当你要查找字符串以什么结尾时,前面都要有相应的匹配方式,不然会查找失败
————————————————————————————————————————
重复方法:
字符 功能
*			匹配签一个字符出现0次或无限次,即可有可无			
+			匹配前一个字符出现1次或无限次,至少有一次
?			匹配签一个字符出现1次或者0次,要么有一次,要么有0次
{m}			匹配签一个字符出现m次
{m,n}			匹配签一个字符出现从m次到n次
import re
f=re.match('\d{3}','1234')
print(f.group())   结果为123
 
                     
                    
                 
                    
                 
         
