chapter 初識1 1 正規表示式一

2021-10-03 16:22:07 字數 3722 閱讀 5589

了解:正規表示式是對字串操作的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成乙個「規則字串」,這個「規則字串」用來表達對字串的一種過濾邏輯。

普通字元作為原子

import re

string=

"helloworld"

#普通字元作為原子

p="owo"

#要匹配的字元賦予p

result=re.search(p,string)

print

(result)

執行結果

由此可見可以匹配出來

import re

string=

"helloworld"

#普通字元作為原子

p="owr"

#這裡要匹配的是

result=re.search(p,string)

print

(result)

none
匹配的字元是"owr"從string查詢不到所以執行結果為none

2.非列印字元作為原子

import re

#非列印字元作為原子例:\n \t

string=

'''helloworld

wangyi'''

p="\n"

result=re.search(p,string)

print

(result)

string中有\n換行符,故可以匹配得到

3.通用字元作為原子

import re

#使用通用字元作為原子

#常用通用字元

'''\w匹配字母數字下劃線

\w匹配除字母數字下劃線以外的

\d匹配十進位制數字

\d匹配除十進位制數字

\s匹配空白字元

\s匹配除空白字元

'''string=

'''helloworld314256737 sggj32

wangyi

'''p=

"\w\w\w\w\w"

result=re.search(p,string)

print

(result)

因為\w連續匹配五次,所以匹配到了"hello"

原子表

#原子表

import re

string=

'''helloworld

wangyi'''

p="lo[how]or"

#只從原子表中選取乙個字元

result=re.search(p,string)

print

(result)

p=「lo[how]or」#只從原子表中選取乙個字元,所以從原子表中匹配到了w,最終匹配到"lowor"

#原子表

import re

string=

'''helloworld

wangyi'''

p="lo[^how]or"

#^非的意思,原子表中均不能匹配

result=re.search(p,string)

print

(result)

none
^非的意思,原子表中均不能匹配,所以最終結果為none

#元字元

'''元字元就是正規表示式中具有一些特殊含義的字元。

.除換行符外任意乙個字元

^開始位置

$結束位置

*出現0次1次多次

?出現0次一次

+出現一次多次

恰好出現n次

至少n次

至少n次至多m次

|模式選擇符

()代表模式單元

'''import re

string=

'''helloworld

wangyi'''

p=".owo."

result=re.search(p,string)

print

(result)

.owo.第乙個.匹配到了』l』,第二個.匹配到了』r』

import re

string=

'''helloworld

wangyi'''

p="^.owo."

result=re.search(p,string)

print

(result)

none
import re

string=

'''helloworld

wangyi'''

p=".owo.*"

result=re.search(p,string)

print

(result)

import re

string=

"helloworld"

p="low"

result=re.search(p,string)

print

(result)

none
p="low"中l大寫所以匹配不出來,這時我們會用到模式修正符來忽略大小寫。如何新增模式修正符呢?

import re

string=

"helloworld"

p="low"

result=re.search(p,string,re.i)

#在這裡新增模式修正符

print

(result)

這就匹配出來了。

貪婪模式例子

import re

string=

"helloworld"

p="w.*d"

result=re.search(p,string)

print

(result)

例子更新版

import re

string=

"hellwodworld"

p="w.*d"

result=re.search(p,string)

print

(result)

儘管字串中有wodworld它依然會匹配到最後乙個d處。

懶惰模式例子

import re

string=

"hellwodworld"

p="w.*?d"

result=re.search(p,string)

print

(result)

python官網對re正則的介紹

正規表示式初識

用來指定乙個字元集合 字元直接是 或 的關係,不是乙個特定的字串,跟 abc 不同 abc a z 在字符集中,元字元 不起作用 abc abc 元字元 在字串尾不起作用 abc 就是普通字元。元字元在字符集首表示匹配補集,abc 就是匹配除了a,b,c以外的字元。匹配行首,位於字串首。制定規則re...

正規表示式初識

正規表示式 為轉義如 表示.郵箱匹配 grep e 0 9a za z 0 9a za z a za z a.txt 查詢郵箱 a z 所有小寫字母 a z 所有大寫字母 0 9 所有數字 0 9 所有非數字 表達取反 0 9 a z 0個或多個小寫字母 a z 至少出現一次小寫字母 a z 出現0...

初識正規表示式

正規表示式 1.概念 一種字串匹配規則 1.1 判斷 input進來的 是不是qq號 是不是手機號 身份證號 1.2 有乙個檔案,要求把手機號 qq號 取出來 2.能做什麼 2.1 可以制定乙個規則 來確認某乙個字串是否符合規則的內容 從打斷的字串中找到符合規則的內容 2.2 程式領域 1,登入程式...