page icon

よく使う正規表現

概要

サクラエディターや、vscode, Pythonなどで使える便利な正規表現をメモを兼ねて紹介します。
使いこなせると便利なのだけれど、調べる手間を考えると中々ね…
実例から学んでいくとすぐに使いやすいかも。

正規表現

ひらがな、カタカナ、数字、記号以外の文字を抽出する


  • 解説
    • - 文字クラスを定義します。この中に含まれる文字のいずれかにマッチします。
    • - 文字クラスの先頭に置かれた場合、否定を意味します。 つまり、クラス内にリストされた文字以外のものにマッチします。
    • - Unicodeプロパティを使って、ひらがなにマッチします。
    • - 同じくUnicodeプロパティで、カタカナにマッチします。
    • - Unicodeプロパティで、すべての数字にマッチします。
    • - Unicodeプロパティで、すべての記号(句読点を含む)にマッチします。
    • 例えばひらがなだけにマッチしたければ
      • - を消して、 で囲むだけこの辺りは簡単かな?]
 

引用符で囲まれていない文の終わり(を除外した の文字列を抽出する)


  • 解説
    • - これは否定的後読み(negative lookbehind)アサーションです。
      • この部分は、(閉じ引用符)が直前にない場所であることを条件としています。 つまり、この条件はの直前にが存在しない場合にマッチします。
    • - これは否定的先読み(negative lookahead)アサーションです。
      • この部分は直後に(閉じ引用符)が来ない場所で、にマッチすることを意味します。
    • 例えば、次のようなテキストがあった場合
      • この正規表現は しかし、天気予報は雨だった。 の句点にのみマッチし、 「明日は晴れるかもしれない。」 の句点にはマッチしません。 これにより、引用符で囲まれていない文の終わりにのみ反応するようになっています。
 

(かっこ)で囲われた文章を抽出する。


  • 解説
    • - この記号はリテラル文字として扱われ、テキスト中のという記号にマッチします。
    • - この部分は二つの要素から成ります
      • (ドット)は任意の単一文字にマッチします(通常は改行文字を除く)。
      • は直前の要素(この場合は任意の単一文字)が1回以上連続して現れることを意味します。これにより、「aaa」の間にある1文字以上の任意の文字列にマッチします。
    • - これもリテラル文字として扱われ、テキスト中のという記号にマッチします。
    •  
  • 入れ子になった構造や複数のマークアップを個別に抽出したい場合
    • - この部分は二つの要素から構成されています。
      • は任意の単一文字にマッチします(通常、改行文字を除く)。
      • は直前の要素(この場合は任意の文字)が1回以上出現することを示しますが
        • が追加されることで最小マッチング(non-greedy または lazy)が適用されます。つまり、可能な限り最短のマッチを見つけようとします。これは、複数のマッチ可能な部分がある長い文字列に対して使われると、最初に遭遇する終了記号「」」でマッチングを停止します。
      • 例えば、次のようなテキストがあった場合
        • を使用した場合
          • 「初めの部分」中間のテキスト「最後の部分」 が抽出される。
        • を使用した場合
          • 「初めの部分」「最後の部分」 のみが抽出される。
        • を使用した場合
          • 初めの部分 と 最後の部分 のみが抽出される。
 
 
その他 関連記事
 
 
 
ご意見・ご要望は「📩 お問い合わせ」にお願いいたします。
 
 
☑ New Post

 
Icons by icons8.com