我試圖改變一個類似這樣的字串:
s = 'g1 & g2 & (X~(~g1 & ~g2) & ~o1) & (XX~(~g1 & ~g2) & ~o1 & X~o1)'/span>
對這個:
'g1_0 & g2_0 & (~(~g1_1 & ~g2_1) & ~o1_0) & (~(~g1_2 & ~g2_2) & ~o1_0 & ~o1_1) '
所以基本上我是把每個變數_#(下劃線和數字)作為前面的X的數量附加到它上面,然后洗掉X。問題主要出現在X在括號之前,而且我不知道有多少變數和邏輯運算子在括號里。
我嘗試用Python來做這件事。我從最多的X的數量開始倒退(因為,如果我開始尋找g1,所有的X都會改變)。所以這是一個序列:
import re
xs = 'X'/span>*n
while n>0:
# this is for when we have parentheses.
s = re.sub('%s([~]*)([(] [~]*[a-zA-Z] [0-9] ) ([&|]*) ([~]*[a-zA-Z] [0-9] )([)] ) %xs。
r'12_%d 3 4_
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/307564.html
標籤:
