Python 正規表示式 2

2021-08-18 02:12:21 字數 1864 閱讀 9024

# -*- 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

[email protected]

請輸入0-99的數字99

99請輸入你的郵箱[email protected]

[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....