python正則替換字元
1. python正則表達式替換字元串問題
按照你的要求在不改變name()函數的前提下,把兩個"xyz"都替換為"xyz111"的Python程序如下
importre
defname(matched):
newname=matched.group('name')+'111'
returnnewnamestr='helloxyz,nihaoxyz'
strnew=re.sub(r"(?<=hello|nihao)(?P<name>w+)",name,str)
print(strnew)
運行結果
helloxyz111,nihaoxyz111
2. python正則如何匹配除某個字元串以外的任意字元
首先,「匹配除2012這個字元串以外的任意字元?」語義不明,你是想將其從原字元串中刪除還是要匹配2012以外的年份?
姑且認為你的意思是後者,也即在一個特定模式里排除某些匹配的實例。
方法一、先預處理,將要匹配的字元串里的2012替換成不可能出現的字元串,然後再進行匹配處理,最後再將其替換回2012。
方法二、使用不匹配的前向斷言(?!...):
importre
s='....<b>0033<b><b>1033<b><b>2012<b><b>2033<b><b>2043<b><b>3033<b>.....'
p=re.compile('<b>(?!2012)[0-9]{4}<b>')
forminre.finditer(p,s):
printm.group()
可以匹配出
<b>0033<b>
<b>1033<b>
<b>2033<b>
<b>2043<b>
<b>3033<b>
而沒有'<b>2012<b>'
3. python如何用正則表達式匹配兩個字元串之間的字元串中的某個字元並進行替換
你好,匹配和替換是兩個操作,你可以分兩步來做。
第一步匹配:
hit=re.search(「(\<question\>\<img.*?question_id=「100」\>)」,inputstr)
第二步替換
result=re.sub(『」』,『\」』,inputstr)
4. python,字元串正則,替換最後一個特定字元
在 python 中, str.replace 函數接受的第一個參數並不是正則表達式,而是字元串。
所以你會看到,運行
print'123(abc)123'.replace('(abc)','!')
的結果是
'123!123'
想要達到你所說的效果,可以試一試 python 中的 re 模塊
例如:
importre
replace_reg=re.compile(r'abc$')
printreplace_reg.sub('X','123abc')
的運行結果為:
'123X'
5. python 正則表達式re.sub()提取字元串以及去除空格
Python 的re模燃搏塌塊提供了re.sub用於替換字元串中的匹配項。
語法:
re.sub(pattern, repl, string, count=0)
參數:
pattern : 正則中的模式字元串。
repl : 替換的字元串,也可為一個函數。
string : 要被查找替換的原始字元串。
count : 模式匹配後替換的最大次數,默認 0 表示替換所有的匹配皮圓。
實例:
註:re.sub(r'[a-zA-Z",:{}]', "", data),銀念中括弧表示選擇其中的任意元素,a-zA-Z表示任意字母。
6. python正則表達式是什麼
python正則表達式是使用單個字元串來描述、匹配某個句法規則的字元串,常被用來檢索、替換那些符合某個模式(規則)的文本。最初的正則表達式出現於理論計算機科學的自動控制理論和形式化語言理論中。
1950 年,數學家斯蒂芬·科爾·克萊尼利用稱之為「正則集合」的數學符號來描述此模型。肯·湯普遜將此符號系統引入編輯器 QED,隨後是 UNIX 上的編輯器 ed,並最終引入 grep。自此以後,正則表達式被廣泛地應用於各種 UNIX 或類 UNIX 系統的工具中。目前,許多程序設計語言都支持利用正則表達式進行字元串操作。
正則表達式常用的特殊字元:
:將下一個字元標記為一個特殊字元、一個原義字元(Identity Escape,有 "^" "$" "(" ")" "*" "+" "{" "|" 共計12個)、一個向後引用(backreferences)或一個八進制轉義符。例如「n」匹配字元「n」,「 」匹配一個換行符,「\」匹配「」,「(」則匹配「(」。
^:匹配輸入字元串的開始位置。如果設置了正則表達式的多行屬性,「^」也可以匹配「 」或「 」之 後的位置。
[a-z]:字元范圍,匹配指定范圍內的任意字元。例如「[a-z]」可以匹配「a」到「z」范圍內的任意小寫字母字元。
s:匹配任何空白字元,包括空格、製表符、換頁符等,等效於「[f v]」。注意 Unicode 正則表達式 會匹配全形空格符。