菜鳥教程html Python正則獲取文本中匹配內(nèi)容?
Python正則獲取文本中匹配內(nèi)容?正則表達(dá)式是一種特殊的字符序列,它可以幫助您輕松地檢查字符串是否與模式匹配。Python從版本1.5開始就添加了re模塊,它提供了Perl風(fēng)格的正則表達(dá)式模式。Re
Python正則獲取文本中匹配內(nèi)容?
正則表達(dá)式是一種特殊的字符序列,它可以幫助您輕松地檢查字符串是否與模式匹配。
Python從版本1.5開始就添加了re模塊,它提供了Perl風(fēng)格的正則表達(dá)式模式。
Re模塊使Python語言具有所有正則表達(dá)式函數(shù)。
compile函數(shù)根據(jù)模式字符串和可選標(biāo)志參數(shù)生成正則表達(dá)式對象。這個對象有一系列用于正則表達(dá)式匹配和替換的方法。
re模塊還提供與這些方法的功能完全一致的功能。這些函數(shù)使用模式字符串作為第一個參數(shù)。
1. 重新編譯():此函數(shù)用于生成正則表達(dá)式,這是匹配的核心部分。它用于定義如何匹配以及匹配什么。有關(guān)更多詳細(xì)信息,請參閱菜鳥教程。
2. 關(guān)于芬德爾():此函數(shù)用于匹配指定的字符串。
提取特定內(nèi)容:
1。將文本或字符串中的特定內(nèi)容從位置XXX提取到位置X:重新編譯(”XXX。例如:
import re
STR=“abcd1234efg”
pattern=重新編譯(“ab.ef”)從ab匹配到ef
結(jié)果=模式.findall(STR)
print(result)
運行結(jié)果如下
[“abcd1234ef”
]2。將文本或字符串中的特定內(nèi)容從某個位置XXX提取到某個位置X:重新編譯(”XXX(。)X“)
導(dǎo)入re
str=”abcd1234efg“
模式=重新編譯(”ab(.)ef”)#匹配AB和ef之間的內(nèi)容
結(jié)果=模式.findall(STR)
打?。ńY(jié)果)
運行結(jié)果如下
[“cd1234”
正則表達(dá)式
垂直線“|”表示或。它意味著對兩個匹配條件執(zhí)行邏輯或運算。例如,正則表達(dá)式(his | her)匹配“它屬于他”和“它屬于她”,但不能匹配“它屬于他們”。注意:并非所有軟件都支持此元字符。最簡單的元字符是點,它可以匹配任何單個字符(請注意,不包括換行符)。要評價邏輯表達(dá)式,不僅要注意邏輯運算符本身的運算規(guī)則,還要遵循以下兩個原則:
1。從左到右求解邏輯表達(dá)式。
2. 短路原理:在求解邏輯表達(dá)式的過程中,只要能隨時確定邏輯表達(dá)式的值,就不會進(jìn)行求解過程,求解就完成了。當(dāng)我們了解邏輯表達(dá)式的運算規(guī)則時,首先可以找到表達(dá)式中優(yōu)先級最低的邏輯運算符,然后根據(jù)這些運算符將整個邏輯表達(dá)式分成若干計算部分。從最左邊的計算部分開始,根據(jù)算術(shù)運算、關(guān)系運算和邏輯運算的規(guī)則來計算這部分的值。每次計算零件時,靠近零件右側(cè)的邏輯運算符將根據(jù)真值表判斷邏輯值。如果可以確定整個邏輯表達(dá)式的值,則所有后續(xù)計算都將停止。只有當(dāng)無法確定整個邏輯表達(dá)式的值時,才會執(zhí)行下一次計算。