Python
 Computer >> コンピューター >  >> プログラミング >> Python

Python正規表現で使える括弧「()」付きの特殊構文まとめ

Pythonの正規表現では、括弧 () を使ったさまざまな特殊な構文が用意されています。これらを活用することで、コメントの埋め込みや大文字小文字の区別の制御、グループ化の柔軟な指定などが可能になります。本記事では、代表的な括弧付き特殊構文を一覧形式でわかりやすく解説します。

括弧付き特殊構文の一覧

番号記述例と説明
1R(?#comment)
文字列「R」にマッチします。(?#...) 以降に書かれた内容はすべてコメントとして扱われ、マッチングには影響しません。
2R(?i)uby
「uby」の部分を大文字・小文字を区別せずにマッチさせます。つまり「Ruby」「ruby」「RUBY」などにも一致します。
3R(?i:uby)
上記と同様の動作ですが、(?i:...) の形式では大文字小文字の無視が括弧内の範囲に限定されます。より局所的な制御が可能です。
4rub(?:y|le)
「ruby」または「ruble」にマッチしますが、(?:...) は単なるグループ化のみを行い、\1 のような後方参照(キャプチャ)を作成しません。不要なキャプチャを避けたい場合に有効です。

各構文のポイント

1. コメント構文 (?#...)

複雑な正規表現を読みやすくするために、パターン内に直接コメントを記述できます。実行時には完全に無視されるため、保守性の向上に役立ちます。

2. 大文字小文字の無視 (?i) と (?i:...)

(?i) を指定すると、それ以降のパターン全体で大文字小文字が区別されなくなります。一方、(?i:...) を使えば、影響範囲を括弧内だけに限定できるため、意図しない箇所まで変更してしまうリスクを減らせます。

3. キャプチャしないグループ (?:...)

通常の括弧 () はグループ化と同時にキャプチャも行いますが、(?:...) を使えばグループ化のみを実現できます。後方参照が必要ない場合はこちらを使うことで、パフォーマンスや可読性が向上します。

  1. Pythonで3DプロットをPDFとして保存する方法

    Pythonで3DプロットをPDF形式で保存したい場合、Matplotlibのsavefig()メソッドを使えば簡単に実現できます。以下の手順に従ってください。 手順 図のサイズを設定し、サブプロット間および周囲のパディング(余白)を調整します。 新しい図(figure)を作成するか、既存の図をアクティブにします。 サブプロット配置の一部として、図に「ax」(3D軸)を追加します。 NumPyを使って u, v, x, y, z のデータポイントを生成します。 3Dワイヤーフレームをプロットします。 プロットにタイトルを設定します。 savefig() メソッドで現在の図をPDFとして保存

  2. PythonのPygameで画像を表示する方法

    Pygameは、Pythonでゲームやマルチメディアアプリケーションを開発するための定番マルチメディアライブラリです。本記事では、pygameモジュールを使用して、画像のサイズ(高さ・幅)やウィンドウ内での表示位置を考慮しながら、画面に画像を描画する方法を解説します。 画像表示の基本的な流れ 以下のサンプルプログラムでは、まずpygameモジュールを初期化し、ウィンドウのサイズとキャプション(タイトルバーの文字列)を設定します。その後、画像ファイルを読み込み、表示する座標を指定します。screen.blit()関数が実際に画面へ画像を描画し、whileループがウィンドウを閉じる操作(QUITイ