re.sub("([^\\[\s\\]]+)([\\]\s]*)([>|=|<])",replace(r'\1')+r'\2'+r'\3',s)
這不會通過第一組替換函數,而是將r'\1'
作爲字符串傳遞。使用re.sub與組
請提出發生了什麼問題。
re.sub("([^\\[\s\\]]+)([\\]\s]*)([>|=|<])",replace(r'\1')+r'\2'+r'\3',s)
這不會通過第一組替換函數,而是將r'\1'
作爲字符串傳遞。使用re.sub與組
請提出發生了什麼問題。
您正在向方法replace傳遞一個字符串。
該組只會在sub
方法中評估。你可以做一個獨立的search
,讓您的結果,未經檢驗的,雖然因爲你還沒有公佈從s
時間值,也replace
功能:
pattern = "([^\\[\s\\]]+)([\\]\s]*)([>|=|<])"
re.sub(pattern, replace(re.search(pattern, s).group(1))+r'\2'+r'\3',s)
這裏是另一個方法可能更適合你:
# this method is called for every match
def replace(match):
group1 = match.group(1)
group2 = match.group(2)
group3 = match.group(3)
# process groups
return "<your replacement>"
s = "<your string>"
pattern = "([^\\[\s\\]]+)([\\]\s]*)([>|=|<])"
newtext= re.sub(pattern, replace, s)
print(newtext)
在'[\\] \ s] *'部分你沒有打開支架 – furins
其逃脫 – anuj
不知道,但它應該是'([\] \ s] *)'爲了逃脫 – furins