# -*- coding:utf-8 -*-
#匯入re模組
import re
#原始字串
c = "c:\\\\desktop"
print c
#假設desktop的父路徑是c:\\我們如何匹配到呢
result = re.match("c:\\\\\\\\",c)
print result.group()
#但是這樣很複雜 容易讓人迷
#所以在python 中提供乙個r表示原生字元
result = re.match(r"c:\\\\",c)
print result.group()
#經常我們匹配的字元並不是值得到開頭的單字元
name = "nihao"
result = re.match("\w+",name)
print "+表示匹配出現1次或者無限次 等價於:"+result.group()
result = re.match("[a-z]",name)
print result.group()
#*表示出現0次或者無限次 相當於
result = re.match("[a-z]*",name)
print result.group()
result = re.match("[a-z]",name)
print result.group()
#?匹配乙個字元零次或者一次 要麼有 要麼沒有,相當於最多1次最少0次
age="22"
result = re.match("[0-9]?",age)
print result.group()
#最多n次最少m次 最少m次,最多無限次制定m次
result = re.match("[0-9]",age)
print result.group()
#test1
email="[email protected]"
#首先分析字串 數字9位然後乙個@符號 然後乙個單詞字元qq 乙個非單詞字元. 最後還是個單詞字元
result = re.match("\d+\s\w+\s\w+",email)
print result.group()
#test2 匹配o到99的數字
age = raw_input("請輸入0-99的數字")
result = re.match("[0-9]?[0-9]",age)
print result.group()
'''age = raw_input("請輸入0-99的數字")
result = re.match("\d?\d",age)
print result.group()'''
#test2 匹配自定義163郵箱 前面有4到20位
email = raw_input("請輸入你的郵箱")
result = re.match("\d\s\d+\s\w+",email)
print result.group()
'''email = raw_input("請輸入你的郵箱")
result = re.match("\d@163\s\w+",email)
print result.group()'''
'''c:\\desktop
c:\\
c:\\
+表示匹配出現1次或者無限次 等價於:nihao
nihao
nihao
nihao222
請輸入0-99的數字99
99請輸入你的郵箱[email protected]
'''
正規表示式 2
例 正規表示式物件 本物件包含正規表示式模式以及表明如何應用模式的標誌。語法 1 re pattern flags 語法 2 re new regexp pattern flags 引數 re 必選項。將要賦值為正規表示式模式的變數名。pattern 必選項。要使用的正規表示式模式。如果使用語法 1...
正規表示式2
本文參照python 核心程式設計第一章正規表示式 1 match函式的使用 import re m re.match foo foo if m is not none print m.group match 如果匹配成功,返回乙個匹配物件,不成功則返回none 如果我們不使用if判斷就使用m.gr...
正規表示式2
4.2字元集合var reg 1a2b3 匹配乙個字元,這個字元必須是 1 a 2 b 3其中一種,如果是就表示滿足,如果不是就不滿足 reg.test a 結果為 true reg.test 3 結果為 true reg.test fg56 乙個符合要求的字元都不存在,結果為 false reg....