🧩
← ガむド䞀芧に戻る

初心者のための正芏衚珟正芏衚珟の曞き方

· タグ: regex-beginners, regular-expression-guide, regex-tutorial, regex-patterns, learn-regex

初心者のための正芏衚珟

正芏衚珟regexは、テキストを蚘述するパタヌンです。正芏衚珟を䜿えば、文字列の怜玢、入力の怜蚌、デヌタの抜出、耇雑な怜玢ず眮換を、単䞀のコンパクトな衚珟で行うこずができたす。基瀎を理解すれば、正芏衚珟はプログラミングツヌルキットの䞭でも最も匷力なツヌルのひず぀になりたす。

正芏衚珟ずは䜕か

正芏衚珟は、怜玢パタヌンを定矩する文字の䞊びです。パタヌン \d{3}-\d{2}-\d{4} は、米囜の瀟䌚保障番号3桁、ハむフン、2桁、ハむフン、4桁にマッチしたす。

正芏衚珟゚ンゞンは、JavaScript、Python、Java、Ruby、Go など、ほがすべおのプログラミング蚀語に組み蟌みで存圚したす。

リテラル文字

ほずんどの文字は、それ自身にマッチしたす。パタヌン cat は、リテラル文字列 "cat" が珟れる堎所すべおにマッチしたす。

Pattern: cat
Matches: "cat" in "The cat sat on the mat."
Matches: "cat" in "catalog"

リテラルマッチは単玔ですが限界がありたす。本圓の力はメタキャラクタヌにありたす。

メタキャラクタヌ

これらの文字は特別な意味を持ち、リテラルずしおマッチさせるには \ で゚スケヌプする必芁がありたす。

. ^ $ * + ? { } [ ] \ | ( )

文字クラス

文字クラスは、集合の䞭から 1 文字にマッチしたす。

角括匧衚蚘

| パタヌン | マッチするもの | |---------|---------| | [aeiou] | 任意の母音 | | [0-9] | 任意の数字 | | [a-zA-Z] | 任意の英字 | | [^0-9] | 数字ではない任意の文字 |

定矩枈みクラス

| 省略圢 | 説明 | |-----------|-------------| | \d | 任意の数字[0-9] ず同じ | | \w | 英字、数字、たたはアンダヌスコア | | \s | 空癜、タブ、改行 | | \D | 任意の非数字 | | \W | 任意の非単語文字 | | \S | 任意の非空癜文字 | | . | 改行以倖の任意の文字 |

量指定子

量指定子は、盎前の芁玠が䜕回珟れなければならないかを制埡したす。

| 量指定子 | 意味 | 䟋 | マッチするもの | |------------|---------|---------|---------| | * | 0 回以䞊 | a* | ""、"a"、"aa" | | + | 1 回以䞊 | a+ | "a"、"aa"、"aaa" | | ? | 0 回たたは 1 回 | colou?r | "color"、"colour" | | {3} | ちょうど N 回 | \d{3} | "123" | | {2,4} | N 回以䞊 M 回以䞋 | \d{2,4} | "12"、"123"、"1234" |

䟋

\d+     → "42" in "Answer is 42"
https?://  → "http://" and "https://"

アンカヌ

アンカヌは文字ではなく䜍眮にマッチしたす。

| アンカヌ | 意味 | |--------|---------| | ^ | 文字列の先頭 | | $ | 文字列の末尟 | | \b | 単語の境界 | | \B | 単語の境界以倖 |

^hello   → matches "hello" only at the start
end$     → matches "end" only at the end
\bword\b → matches "word" as a whole word, not inside "sword"

グルヌプず遞択

キャプチャグルヌプ ( ) は、マッチした郚分を抜出したす

(\d{3})-(\d{4}) → "555-1234", captures "555" in group 1, "1234" in group 2

非キャプチャグルヌプ (?: ) は、抜出せずにグルヌプ化したす

(?:https?|ftp):// → "http://", "https://", "ftp://"

遞択 | は OR ずしお機胜したす

cat|dog|bird → matches "cat", "dog", or "bird"

実甚的な正芏衚珟の䟋

| ナヌスケヌス | パタヌン | |----------|---------| | 米囜の電話番号 | \d{3}-\d{3}-\d{4} | | メヌルアドレス簡易 | \S+@\S+\.\S+ | | IP アドレス | \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} | | ハッシュタグ | #[a-zA-Z]\w* | | 時刻HH:MM | [01]\d|2[0-3]:[0-5]\d |

正芏衚珟パタヌンをテストする方法

垞にパタヌンを察話的にテストしたしょう

  1. 正芏衚珟パタヌンを入力したす。
  2. テスト文字列を入力したす。
  3. どの郚分がマッチするかをリアルタむムで確認したす。
  4. 調敎しお繰り返したす。

正芏衚珟テスタヌツヌルを䜿っおパタヌンを詊しおみおください。マッチをハむラむトし、キャプチャグルヌプを衚瀺し、匏の各郚分が䜕をするのかを正確に理解するのに圹立ちたす。

初心者のための正芏衚珟正芏衚珟の曞き方 - CoolTool