我想在數學表達式中替換某個變量名稱,同時避免替換函數名稱。Python:如何替換某些字符所包含的字符串
例如,用下面的n
:
sin(2 pi*n d)" -> "sin(2 pi*REPL d)
但不是:siREPL(2 pi*REPL d)
我的想法是,以檢查是否SUBSTR是由特殊字符(' '
,'('
,'*'
等)在一側封閉,但我沒有把它放在正則表達式或Python代碼中。
任何想法?
我想在數學表達式中替換某個變量名稱,同時避免替換函數名稱。Python:如何替換某些字符所包含的字符串
例如,用下面的n
:
sin(2 pi*n d)" -> "sin(2 pi*REPL d)
但不是:siREPL(2 pi*REPL d)
我的想法是,以檢查是否SUBSTR是由特殊字符(' '
,'('
,'*'
等)在一側封閉,但我沒有把它放在正則表達式或Python代碼中。
任何想法?
使用單詞邊界(\b
)
>>> import re
>>> re.sub(r'\bn\b', 'REPL', 'sin(2 pi*n d)')
'sin(2 pi*REPL d)'
\b
匹配空字符串,但只在一個單詞的開頭或結尾。 單詞被定義爲一個字母數字或下劃線字符序列,因此單詞的末尾用空格或 非字母數字,非下劃線字符表示。需要注意的是正式,\ b爲W,或之間\ A \ W和\ W字符(或副 反之亦然)之間定義爲邊界 和字符串的開始/結束,...
太好了,謝謝! – user3370429
嘗試字界\ b –