基本正規表現とは? わかりやすく解説

基本正規表現

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/13 20:23 UTC 版)

正規表現」の記事における「基本正規表現」の解説

基本正規表現はBREとも呼ばれる。ほとんどの正規表現利用する UNIXユーティリティgrepsed)のデフォルトはこれである。 この文法では、ほとんどの文字リテラル機能を意味せず書かれそのまま)に扱われる。つまり、ある文字はその文字にのみマッチする。例えば、正規表現「a」は文字「a」にマッチし正規表現「(bcは文字列「(bc」にマッチするなど。例外メタ文字呼ばれる正規表現マッチする対象. 任意の1文字マッチする。 […] 括弧内に含まれる1文字マッチする。例えば、正規表現「[abc]」は1文字「a」「b」「c」マッチする。正規表現「[a-z]」は全ての小文字の1文字マッチする。これらは混ぜることが出来る。「[abcq-z]」は1文字「a」「b」「c」「q」「r」「s」「t」「u」「v」「w」「x」「y」「z」にマッチし正規表現「[a-cq-z]」も同様である。正規表現中の「-」括弧内の最初最後にあるときのみ、リテラルとして扱われる例え正規表現「[abc-]」や正規表現「[-abc]」は1文字「a」「b」「c」「-」マッチする。1文字「]」自身マッチさせる最も手っ取り早い方法は、囲んでいる括弧内で、括弧最初になるようにすることである。例え正規表現「[][ab]」は1文字「]」「[」「a」「b」にマッチする。 [^…] 括弧内に含まれない1文字マッチする。例え正規表現「[^abc]」は「a」「b」「c」以外の任意の文字マッチする。正規表現「[^a-z]」は英小文字以外の任意の1文字マッチする。上と同様にこれらは混ぜることが出来る。 ^ 行の最初にマッチする。 $ 行の最後にマッチする。 \(…\) これに囲まれ表現は、後に呼び出すことが出来る。次の \1、…、\9 の項を参照のこと。 \1 \2 \3 \4 \5 \6 \7 \8 \9 それぞれ「\(」と「\) で囲まれ部分先行してマッチした1~9 番目の文字列と同じ文字列パターンマッチする。この機能理論的には、言うならば非正規で(正規言語記述力を超える)、POSIX拡張正規表現では採用されていない。 * 1文字に続く「*」は0回以上の表現繰り返しマッチする。例えば「[xyz]*」は空文字列文字列「x」「y」「zx」「zyx」などにマッチする。 n を1から9までの数字としたとき、基本正規表現「\n*」は「\(」と「\)」で囲まれ部分の0回以上の繰り返しマッチする。例えば、基本正規表現「\(a.\)c\1*」 は文字列「abcab」 「abcabab」「abcababab」などにマッチするが、文字列「abcac」にはマッチしない。 「\(」と「\)」で囲まれ表現に続く「*」 は無効とされる。しかし、一部環境ではそうならない。 \{m,n\} 直前ブロックの m 回以上 n 回以下の繰り返しマッチする。例えば、正規表現「a\{3,5\}」 は文字列「aaa」「aaaa」「aaaaa」にマッチする。 古いバージョンgrep選言演算子「\|」をサポートしていない。 例 正規表現.atは文字列「hat」「cat」「5atのような3文字文字列マッチする 正規表現「[hc]at」は文字列「hat」と「cat」にマッチする 正規表現「[^b]at」は文字列「bat以外の.at」でマッチする全ての文字列マッチする 正規表現「^[hc]at」は行の最初にあるときだけ、文字列hat」と「cat」にマッチする 正規表現「[hc]at$」は行の最後にあるときだけ、文字列hat」と「cat」にマッチする 符号点範囲によってたとえば「アルファベット大文字」などを表現しようとすることは、時に問題ひきおこす。たとえばロケール依存する例として、エストニア語アルファベット順では、文字「s」の後に「z」があり、その後は「t」「u」「v」「w」「x」「y」と続くので、正規表現「[a-z]」ではすべての言語すべてのアルファベット小文字マッチするわけではない。そのため、POSIX 標準では次の表に示されているクラス、つまり文字区分定義している。 POSIX クラス対応する表現意味[[:upper:]] [A-Z] 英語の大文字 [[:lower:]] [a-z] 英語の小文字 [[:alpha:]] [A-Za-z] 英語のアルファベット [[:alnum:]] [A-Za-z0-9] アラビア数字と英語のアルファベット [[:digit:]] [0-9] アラビア数字 [[:xdigit:]] [0-9A-Fa-f] 16進数字 [[:punct:]] [.,!?:...] 英語の句読点 [[:blank:]] [ \t] (半角の)スペースタブ [[:space:]] [ \t\n\r\f\v] (半角の)空白文字 [[:cntrl:]] 制御文字 [[:graph:]] [^ \t\n\r\f\v[:cntrl:]] 印字文字 [[:print:]] [^\t\n\r\f\v[:cntrl:]] 印字文字スペース 例:正規表現「[[:upper:]ab]」は英語の大文字「A」~「Z」と「a」と「b」のうち一文字のみにマッチする。 いくつかのツール使用できるPOSIX にないクラスとして「[:word:]」がある。「[:word:]」は通常「[:alnum:]」とアンダースコアからなる。これらが多くプログラミング言語識別子として使用できる文字であることを反映している。

※この「基本正規表現」の解説は、「正規表現」の解説の一部です。
「基本正規表現」を含む「正規表現」の記事については、「正規表現」の概要を参照ください。

ウィキペディア小見出し辞書の「基本正規表現」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「基本正規表現」の関連用語

基本正規表現のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



基本正規表現のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaの正規表現 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS