Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
単一の文字を別のものに置き換えようとして$いて、複数の文字を連続して無視したいのですが、$その方法がわかりません。私は先読みを使ってみました:
$
s='$a $$b $$$c $d' re.sub('\$(?!\$)','z',s)
これは私に与えます:
'za $zb $$zc zd'
私が欲しいのはいつ
'za $$b $$$c zd'
私は何を間違っていますか?
OK、ルックアラウンドなし、コールバック関数なし:
re.sub('(^|[^$])\$([^$]|$)', '\1z\2', s)
との代替re.split:
re.split
''.join('z' if x == '$' else x for x in re.split('(\$+)', s))