正規表現で使うメタキャラクタ、エスケープシーケンス


 正規表現検索に使用するメタキャラクタとエスケープシーケンスです。

 これらの使いこなしが秀丸エディタの使いこなしには必要になります。

● [ ] ブラケット(角括弧) 意味:キャラクタクラス
「[ ]」で囲んだ文字のいずれかひとつとマッチすればマッチしたと判断
  基[本礎]  「基本」と「基礎」を検索

「-」(ハイフン)によって文字コード範囲指定
  No[0-9]  「No0」「No1」~「No8」「No9」を検索

「^」(カレット)によって否定
  基[^本礎]  「基本」と「基礎」は検索せず「基地」は検索

複合使用
  No[0-9][^0-9]  「No」のあとに一桁の数字が現われる文字列を検索

「^」はブラケットの直後にあるときのみ有効
  [a-z^0-9]  半角英小文字、カレット、半角数字を検索

「]」「\」をキャラクタクラスの要素にするにはエスケープシーケンスが必要
  [\]\\]  「]」と「\」を検索
● ( ) パーレン 意味:文字列パターンをグループ化
「|」によって文字列パターンの論理和
  書類|ドキュメント  「書類」と「ドキュメント」を検索
  文献(を探す|を入手|目録)  「文献を探す」「文献を入手」「文献目録」を検索
● ^ $ 行頭 行末
   ^ カレット 意味:行頭
   $ ドル記号 意味:行末
「^」(カレット)は行頭を意味
  ^[0-9]  行頭の半角数字を検索

「$」(ドル記号)は行末を意味
  。$  「。」で終わっている行末を検索
● . * + ?   ワイルドカード的検索    .  ピリオド  意味:改行を除く任意の1文字
   *  アスタリスク  意味:直前の文字の0回以上の繰り返し
   +  プラス  意味:直前の文字の1回以上の繰り返し
   ?  疑問符  意味:直前の文字を0回または1回
「.」(ピリオド)は改行(「\r」「\n」)を除く任意の1文字
   私は.*と思う。  「私は~と思う。」という文章を検索

「*」(アスタリスク)は直前の文字やメタキャラクタの0回以上の繰り返し
   やったー*  「やった」「やったー」~「やったーーーー」等を検索

「+」(プラス)は直前の文字やメタキャラクタの1回以上の繰り返し
   やったーー*  「やったーー」~「やったーーーー」等を検索

「?」(疑問符)は直前の文字やメタキャラクタが0回または1回出現
   やったー?[^ー]  「やった」と「やったー」を検索
● ワイルドカード的検索まとめ
様々なメタキャラクタを複合的に使い、複雑な文字列を検索
  ^明日は.+です。$  「(行頭)明日は晴れです。(行末)」等を検索
  (うひ)+  「うひ」~「うひうひうひうひ」等を検索
  一昨日|昨日|今日|明日|明後日  「一昨日」「昨日」「今日」「明日」「明後日」を検索
  (一昨|昨|今|明)日  「一昨日」「昨日」「今日」「明日」「明後日」を検索
  <!--(.|\n)*-->|<([^>]|\n)*>  HTMLのタグ(約3行以上のタグは不可)
  /\*/?([^/]|[^*]/|\n)*\*/  C言語のコメント文(約3行以上のコメントは不可)

 さらに正規表現検索を使った文章の抜き出しをおこなうには、拙作の「リストアップ」を使うと便利です。

 上記の複雑な文字列検索の出典は「秀丸エディタQ&A集」です。
● \ エスケープシーケンス
   \ 円記号 意味:特殊な文字を正規表現で使用する記号
「\」(円記号)でメタキャラクタを正規表現中で使用
  \(  「(」自身を検索
  \?  「?」自身を検索
  \\  「\」自身を検索

「\」(円記号)で良く使う特殊文字
  \ooo  「o」に8進数で文字コードを指定 「o」は1~3桁
  \xhh  「h」に16進数で文字コードを指定 「h」は1~2桁

「\」(円記号)で文字コードを指定
  \n  改行(ニューライン)
  \t  タブ

「\」(円記号)であまり使わない特殊文字
  \a  ベル
  \b  バックスペース
  \r  キャリッジリターン
  \b  バックスペース
  \v  垂直タブコード
  \f  フォームフィード
  \e  エスケープコード
  \z  エンドオブファイル(EOF)
● \< \> \w 英単語
「\<」は英単語(半角英字と「_」だけで構成される文字列)の始まりを意
  \<T  「T」で始まる英単語を検索

「\>」は英単語(半角英字と「_」だけで構成される文字列)の終わりを意味
  s\>  「s」で終わる英単語を検索

「\w」は英単語(半角英字と「_」だけで構成される文字列)を意味
  \w  英単語を検索 「\<」「\>」のように「\wS」といった検索はできない

Cronus Crown(クロノス・クラウン)のトップページに戻る
(c)2002-2024 Cronus Crown (c)1997-2024 Masakazu Yanai
ご意見・お問い合わせはサイト情報 弊社への連絡までお願いします
個人情報の取り扱い、利用者情報の外部送信について