可以匹配所有b
值,並通過使用正回顧後(?<=TEXT)
這是在Pytho支持替換它們ñ。
(?<=b\'\:\')[\s\S]*?(?=\')
:
(?<=b\'\:\')[\w\s]*
退房demo
如果b value
複雜,有特殊字符,你可以使用這個正則表達式匹配它:如果b
值只包含字母數字字符,你可以使用這個正則表達式
下面是使用第二個正則表達式替換這個工作Python:
import re
text = '''a:'first'[as34ttatgv34tgw34t$'b':'man',a:'second'[sdfg53t3srthhghrs$'b':'woman'
'''
find = r"(?<=b\'\:\')[\s\S]*?(?=\')"
Bvalue = re.findall(find, text)
text = text.replace(Bvalue[0], 'car', 1) #first b value
text = text.replace(Bvalue[1], 'chair', 1) #second b value
print text
輸出:
a:'first'[as34ttatgv34tgw34t$'b':'car',a:'second'[sdfg53t3srthhghrs$'b':'chair'
的Python demo
正如你可以在上面的Python中看到的,你所要做的就是用text.replace
功能來代替Bvalue
,Bvalue[0]
指b value
編號爲1, Bvalue[1]
指的是b value
數字2,依此類推。
你能更好地描述你想識別的模式嗎?我們可以對你想要匹配的模式做出什麼樣的假設? –
我想在字符串中找到a:'first',簡而言之,接下來我要替換這個a的值'b':'first'。 'b'總是落後於模式[SOMETHING $ –
我不明白你到底想要做什麼。 –