正規表現のエスケープ処理とは?
  • facebookページ
  • twitterページ
  • 2018.02.13

    正規表現のエスケープ処理とは?

    プログラミムで文字列処理を行う時に便利な正規表現。正規表現を用いると、たとえば文字の検索が容易に行えたりします。正規表現は「表現」という言葉どおり、文字や文字列を、ある規則に従って表現(パターン化)することができる便利なものですが、ちょっと特別なルールがあります。

    アルファベット以外の特殊な「メタ文字」を正規表現で表すルールが、その1つです。

    正規表現における「エスケープ」とは

    メタ文字とはアスタリスク(*)やプラス(+)などのアルファベットではない特殊な文字ことです。
    これらを正規表現で表すには、メタ文字の直前に\(バックスラッシュ)を付ける必要があります。
    これを「エスケープする」または「エスケープ処理」と言います。

    エスケープ処理を行うことによって、メタ文字の特別な意味が打ち消され、メタ文字自身を表すようになります。

    正規表現でエスケープが必要な文字

    下記に具体的にエスケープが必要なメタ文字を記載します。

    エスケープ前 エスケープ後 注意点
     \ (バックスラッシュ)  \\ エスケープを行う文字そのものなために、\ だけの記述はできません。\ を普通な文字として取り扱いたい場合は、 \\ と記述します。
     *(アスタリスク)  \*
     +(プラス)  \+
     .(ドット)  \.
     ?(クエスチョンマーク)  \?
     ^(キャレット)  \^ 行頭を指定することになります。
     $(ドル)  \$ 行末を指定することになります。Perl言語では、変数の先頭文字を表します。
     -(マイナス)  \- [ ]の中に書く場合のみエスケープが必要
     |(パイプ)  \|
     /(スラッシュ)  \/
     { or }(カーリーブラケット)  \{ 出現回数指定文字なのでエスケープが必要
     ( or )(パーレン)  \) エスケープしないと後方参照が作成される。またはグループ化される。
     [ or ](スクエアブラケット)  \[ 直前文字の出現回数指定文字なのでエスケープが必要

    まとめ

    このように正規表現では、メタ文字を使用することによって、複雑で高度な表現(パターン)を行うことができます。ただしメタ文字を特殊な意味を持たない普通の文字として取り扱いたい場合は、上述のようにエスケープ処理が必要です。どのような文字を扱うときにエスケープが必要なのか確認しておきましょう。

    また、プログラミング言語によっては、メタ文字の取り扱い方に、多少の違いもあるので、取り扱う場合は、言語依存のルールも確認しましょう。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテキャンバナー ポテキャリバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア

    関連ワード

    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE