3

&文字をに置き換えたいのですがand、 が単独の場合のみ&です。Python 2.7.3で次のことを試します。

import re
re.sub('&', 'and', '& r&b')

私は得ますand randbが、私が欲しいのはand r&bです。

re.sub('\b&\b', 'and', '& r&b')

どちらも機能しません。助言がありますか?また、通常の文字と特殊文字のユニークな組み合わせが必要な場合は、式はどうなりa&bますa&bcか?

同様の質問で答えが見つからなかったので、事前に感謝します!

4

2 に答える 2

3

「それ自体」が何を意味するのかわからない。ところで、それが正規表現で何を意味するのか誰も知りません。

あなたの特定の例を、

検索(^| )&( |$)
置換$1and$2

しかし、Pythonはわかりません。

編集:Pythonで

import re
re.sub('(^| )&( |$)', r'\1and\2', '& r&b')
于 2012-08-13T01:11:22.547 に答える
1

&は単語以外の文字として扱われます。したがって、この単純な置換を使用してください。

注:これは、通常のテキストのほとんどの通常の場合に機能します。

>>> re.sub(r" & ", " and ", " & r&b")
' and r&b'
于 2012-08-13T00:56:24.283 に答える