python正則如何匹配除某個字串以外的任意字元

2021-03-11 17:20:04 字數 1394 閱讀 6201

1樓:徽積分

首先,「匹配除2012這個字串以外的任意字元?」語義不明,你是想專將其從原字串屬中刪除還是要匹配2012以外的年份?

姑且認為你的意思是後者,也即在一個特定模式裡排除某些匹配的例項。

方法一、先預處理,將要匹配的字串裡的2012替換成不可能出現的字串,然後再進行匹配處理,最後再將其替換回2012。

方法二、使用不匹配的前向斷言 (?! ...):

import re

s = '....003310332012203320433033.....'

p = re.***pile('(?!2012)[0-9]')

for m in re.finditer(p, s):

print m.group()

可以匹配出

0033

1033

2033

2043

3033

而沒有'2012'

2樓:餜挵澶氭潀

首先,「匹du配除2012這個字元zhi串以外的任意字元?」語義不明,你dao是想將其從版原字串中刪除還權是要匹配2012以外的年份?

姑且認為你的意思是後者,也即在一個特定模式裡排除某些匹配的例項。

方法一、先預處理,將要匹配的字串裡的2012替換成不可能出現的字串,然後再進行匹配處理,最後再將其替換回2012。

方法二、使用不匹配的前向斷言 (?! ...):

import re

s = '....003310332012203320433033.....'

p = re.***pile('(?!2012)[0-9]')

for m in re.finditer(p, s):

print m.group()

可以匹配出

0033

1033

2033

2043

3033

而沒有'2012'

python如何用正規表示式匹配兩個字串之間的字串中的某個字元並進行替換? 5

3樓:哈哈呵呵你好

你好,匹配和替bai換是兩個操作du,你可以分兩步zhi來做。

第一步匹dao配:

hit=re.search(「(\\」

版\>)」,inputstr)

第二步替換權

result=re.sub(『」』,『\」』,inputstr)

正則匹配數字

這個正則匹配數字他只能一次匹配一個數字0 9,無法匹配二位數字以上的,所以你如果要匹配二位數以上的可以這樣寫 d 或者 0 9 他是無法分辨 1 188 他會將他當成從1 1和8 和8這樣分辨的。匹配1 188的話可以寫成 1?0 8 0 8 第一個 不要加上大括號,大括號是指定匹配次數的,直接 d...

正規表示式如何匹配出最短字串,正規表示式如何匹配除某些字串以外的所有字元

當正規表示式中包含能接受重複的限定符時,通常的行為是 在使整個表示式能得到匹配的前提下 匹配儘可能多的字元。考慮這個表示式 a.b,它將會匹配最長的以a開始,以b結束的字串。如果用它來搜尋aabab的話,它會匹配整個字串aabab。這被稱為貪婪匹配。有時,我們更需要懶惰匹配,也就是匹配儘可能少的字元...

易語言用正則匹配到相應內容後怎麼取匹配文字前幾行的內容

你這段內容中存在兩種不同區域的文字 一處 問題1 你是 單選題 二處 上班族 學生 自由職業 最好的方法是建立兩個正則規則 一處 style 匹配1 匹配2 二處 value 匹配1 匹配2 只要把匹配2的內容取出來就行了,匹配1 的內容過慮掉 易語言正規表示式怎麼匹配兩行中間的內容 你這段內容中存...