python regex を使ってキャプチャしたグループを使って置換する方法は?[重複している]。
2023-08-13 04:49:19
質問
を変更したいとします。
the blue dog and blue cat wore blue hats
を
the gray dog and gray cat wore blue hats
.
とは
sed
以下のように実現できました。
$ echo 'the blue dog and blue cat wore blue hats' | sed 's/blue \(dog\|cat\)/gray \1/g'
Pythonで同様の置換を行うにはどうしたらよいでしょうか。私は試してみました。
>>> import re
>>> s = "the blue dog and blue cat wore blue hats"
>>> p = re.compile(r"blue (dog|cat)")
>>> p.sub('gray \1',s)
'the gray \x01 and gray \x01 wore blue hats'
どのように解決するのですか?
バックスラッシュをエスケープする必要があります。
p.sub('gray \\1', s)
あるいは、正規表現ですでに行ったように、生の文字列を使用することができます。
p.sub(r'gray \1', s)
関連
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Jupyterノートブックでenv変数を設定する方法
-
[解決済み] 辞書のキーと値を交換するにはどうすればよいですか?
-
[解決済み] Pythonのインスタンス変数とクラス変数
-
[解決済み] SQLAlchemy: 日付フィールドをフィルタリングする方法は?
-
[解決済み] 値で列挙名を取得する [重複]。
-
[解決済み] スペースがないテキストを単語のリストに分割する方法
-
[解決済み] SQLAlchemy - テーブルのリストを取得する
-
[解決済み] オブジェクトのリストに特定の属性値を持つオブジェクトが含まれているかどうかをチェックする
-
[解決済み] Pythonでマルチプロセッシングキューを使うには?
-
[解決済み] re.sub置換パターンにおけるキャプチャグループの後方参照への対応