python之正则表达式

正则表达式使用单个字符串来描述、匹配一系列某个句法规则的字符串;

python中需要通过正则表达式对字符串进行匹配的时候,可以使用re模块。

def isPhone(num):
    # 判断长度是不是11位
    if len(num)!=11:
        return false
    # 判断是不是都是数字
    if not str.isdigit(num)
        return False
    # 判断前三位是不是正确的号段
    li =['137','136','135','177']
    if num[:3] not in li:
        return False

    return True

print(isPhone('1361234123'))
print(isPhone('136abc12345'))
print(isPhone('13612341234'))



False
False
True
#导入re模块
import re
# 使用match方法进行匹配操作
result = re.match(正则表达式,要匹配的字符串)
#上面如果匹配到数据的话,就可以使用group方法来提取数据、

result.group()

# re.match是用来进行正则匹配检测的方法,若字符串匹配正则表达式,则match方法返回匹配对象(Match Object),否则返回返回None(注意不是空字符串" ")

字符 功能
.  
[ ] 匹配任意1个字符(除了\n)
\d 匹配数字,即0-9
\D 匹配非数字,既不是数字
\s 匹配空白,即空格,tab键
\S 匹配非空白
\w 匹配单词字符,即a-z、A-Z,0-9,_
\W 匹配非单词字符
>>>import re

>>>ret = re.match("h","hello python")

>>>ret.group()

'h'

给字符串前面加r代表原始含义;

>>>import re

>>>path = "c:\\a\\b\\c"

>>>re.match("c:\\",path)  #会出现错误

>>>re.match("c:\\\\",path) 

>>>re.match(r"c:\\",path) #给字符串前面加r代表原始含义,两种方法都可以

>>>re.group()

 

你可能感兴趣的:(python学习)