3 2 1 正規表示式的語法 2

2021-07-04 02:37:26 字數 1176 閱讀 8955

向前識別不等於指定字元就匹配,當下乙個單詞不等於...

時就識別出來括號前面指定的單詞。比如

isaac(?!asimov)

,就會這樣判斷,當緊跟著

isaac

後面不是單詞

asimov

時,就把它匹配出來。

例子:print('isaac(?!asimov)')

print(u'abcdasimovisaacttttt')

m = re.findall(u'isaac(?!asimov)', u'abcdasimovisaacttttt')

if m:

print(m)

print(u'abcdisaacasimovttttt')

m = re.findall(u'isaac(?!asimov)', u'abcdisaacasimovttttt')

if m:

print(m)

輸出結果如下:

isaac(?!asimov)

abcdasimovisaacttttt

['isaac']

abcdisaacasimovttttt

向後識別等於指定字元。這裡所謂向後,就是已經掃瞄過的字元。比如(?<=cai)mouse

規則,就是碰到

caimouse

時,就把

mouse

識別出來,意思就是掃瞄到

mouse

時,需要往回檢視已經掃瞄的字元是否是

cai,如果是就匹配成功。

例子:print('(?<=cai)mouse')

m = re.findall(u'(?<=cai)mouse', u'caimouse mousecai ccaimouse')

if m:

print(m)

結果輸出如下:

(?<=cai)mouse

['mouse', 'mouse']

向後識別不等於指定字元。這裡所謂向後,就是已經掃瞄過的字元。比如(?

規則,就是碰到

mouse

時,在它前面不能是字元

cai,如果是

cai就不匹配成功。

例子:print('(?m = re.findall(u'(?if m:

print(m)

結果輸出如下:

(?['mouse']

3 2 1 正規表示式的語法 1

這個語法規則是前面的擴充套件,主要在問號位置可以替換為特定的字元。例子 print m re.findall r a.r abcdefaghijk if m print m 輸出結果如下 abcd aghi 括號內容注釋掉,不起作用。在正規表示式分析時,跳過這些規則。例子 print a m re....

2 基本語法 正規表示式

我們知道c的變數和shell指令碼變數的定義和使用方法很不相同,表達能力也不相同,c的變數有各種型別,而shell指令碼變數都是字串。同樣道理,各種工具和程式語言所使用的正規表示式規範的語法並不相同,表達能力也各不相同,有的正規表示式規範引入很多擴充套件,能表達更複雜的模式,但各種正規表示式規範的基...

正規表示式語法

jscript 8.0 正規表示式語法 正規表示式是一種文字模式,包括普通字元 例如,a 到 z 之間的字母 和特殊字元 稱為 元字元 模式描述在搜尋文字時要匹配的乙個或多個字串。表示式 匹配 s 匹配空行。d d 驗證由兩位數字 乙個連字元再加 5 位數字組成的 id 號。s s 匹配 html ...