- Q1
正規表現におけるキャプチャグループ
()の主な用途は何ですか?ANSWERマッチした部分を保存し、グループ化するクリックして解説を表示EXPLANATIONキャプチャグループ
()は、マッチした部分を後で参照するために保存したり、量指定子を複数文字に適用したり、選択(|)の範囲を限定するために使用されます。 - Q2
非キャプチャグループを表す構文はどれですか?
ANSWER(?:...)クリックして解説を表示EXPLANATION(?:...)は非キャプチャグループを表します。グループ化はしますが、マッチした内容は保存されません。後方参照が不要な場合に使用します。 - Q3
後方参照
\1は何を表しますか?ANSWER最初のキャプチャグループの内容クリックして解説を表示EXPLANATION\1は最初のキャプチャグループでマッチした内容と同じ文字列を参照します。例えば、(\w+)\s+\1は「hello hello」のような繰り返しにマッチします。 - Q4
正規表現
(\w+)\s+\1は「hello world」にマッチしますか?ANSWERマッチしないクリックして解説を表示EXPLANATION(\w+)は「hello」をキャプチャし、\1は「hello」を参照します。「hello world」は「hello」と「world」で異なるため、マッチしません。 - Q5
正規表現
(\w+)\s+\1は「hello hello」にマッチしますか?ANSWERマッチするクリックして解説を表示EXPLANATION(\w+)は「hello」をキャプチャし、\1は同じ「hello」を参照します。「hello hello」は同じ単語の繰り返しなのでマッチします。 - Q6
肯定先読み(positive lookahead)の構文はどれですか?
ANSWER(?=...)クリックして解説を表示EXPLANATION(?=...)は肯定先読みを表します。指定したパターンが後に続く位置にマッチしますが、先読み部分自体は消費しません。 - Q7
否定先読み(negative lookahead)の構文はどれですか?
ANSWER(?!...)クリックして解説を表示EXPLANATION(?!...)は否定先読みを表します。指定したパターンが後に続かない位置にマッチします。 - Q8
正規表現
\d+(?=円)は「100円」のどの部分にマッチしますか?ANSWER「100」のみクリックして解説を表示EXPLANATION(?=円)は「円」が後に続く位置を先読みしますが、「円」自体は消費しません。マッチするのは「100」のみです。 - Q9
肯定後読み(positive lookbehind)の構文はどれですか?
ANSWER(?<=...)クリックして解説を表示EXPLANATION(?<=...)は肯定後読みを表します。指定したパターンが前にある位置にマッチしますが、後読み部分自体は消費しません。 - Q10
否定後読み(negative lookbehind)の構文はどれですか?
ANSWER(?<!...)クリックして解説を表示EXPLANATION(?<!...)は否定後読みを表します。指定したパターンが前にない位置にマッチします。
- Q11
正規表現
(?<=\$)\d+は「$100」のどの部分にマッチしますか?ANSWER「100」のみクリックして解説を表示EXPLANATION(?<=\$)は「$」が前にある位置を後読みしますが、「$」自体は消費しません。マッチするのは「100」のみです。 - Q12
非貪欲(lazy/non-greedy)マッチを表す記号はどれですか?
ANSWER?(量指定子の後)クリックして解説を表示EXPLANATION量指定子の後に
?を付けると非貪欲マッチになります。例えば*?、+?、{n,m}?などです。可能な限り少ない文字数でマッチしようとします。 - Q13
正規表現
<.*>は「<div>content</div>」に対してどのようにマッチしますか(貪欲マッチ)?ANSWER「<div>content</div>」全体クリックして解説を表示EXPLANATION貪欲マッチでは
.*は可能な限り多くの文字にマッチしようとします。そのため「<div>content</div>」全体にマッチします。 - Q14
正規表現
<.*?>は「<div>content</div>」に対してどのようにマッチしますか(非貪欲マッチ)?ANSWER「<div>」(最初のタグ)クリックして解説を表示EXPLANATION非貪欲マッチでは
.*?は可能な限り少ない文字でマッチしようとします。そのため最初の「<div>」にマッチします。 - Q15
正規表現の「i」フラグは何を意味しますか?
ANSWER大文字小文字を区別しないクリックして解説を表示EXPLANATION「i」フラグ(case-insensitive)は大文字小文字を区別しないマッチを行います。例えば
/abc/iは「abc」「ABC」「Abc」などすべてにマッチします。 - Q16
正規表現の「g」フラグは何を意味しますか?
ANSWERグローバルマッチ(すべてのマッチを検索)クリックして解説を表示EXPLANATION「g」フラグ(global)はグローバルマッチを行います。最初のマッチだけでなく、文字列内のすべてのマッチを見つけます。
- Q17
正規表現の「m」フラグは何を意味しますか?
ANSWER複数行モード(^と$が各行にマッチ)クリックして解説を表示EXPLANATION「m」フラグ(multiline)は複数行モードを有効にします。
^と$が文字列全体の先頭・末尾だけでなく、各行の先頭・末尾にもマッチするようになります。 - Q18
正規表現の「s」フラグ(dotall)は何を意味しますか?
ANSWERドットが改行にもマッチクリックして解説を表示EXPLANATION「s」フラグ(dotall/single-line)は
.(ドット)が改行文字にもマッチするようになります。通常、.は改行以外の文字にマッチします。 - Q19
名前付きキャプチャグループの構文として正しいのはどれですか?
ANSWER(?<name>...)クリックして解説を表示EXPLANATION(?<name>...)または(?P<name>...)は名前付きキャプチャグループを定義します。番号の代わりに名前でグループを参照できます。 - Q20
正規表現
(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})で名前付きグループ「month」がキャプチャする部分は?ANSWER月(2桁)クリックして解説を表示EXPLANATION「month」グループは
\d{2}の2番目の部分、つまり月を表す2桁の数字をキャプチャします。「2024-01-15」では「01」です。
- Q21
文字列「abcabc」に対して
(abc)\1はマッチしますか?ANSWERマッチするクリックして解説を表示EXPLANATION(abc)は「abc」をキャプチャし、\1は同じ「abc」を参照します。「abcabc」は「abc」が2回連続しているのでマッチします。 - Q22
正規表現
a+?は文字列「aaaa」に対してどのようにマッチしますか?ANSWER「a」1文字クリックして解説を表示EXPLANATION+?は非貪欲な「1回以上」なので、可能な限り少ない文字数でマッチしようとします。「a」1文字にマッチします。 - Q23
正規表現
a{2,4}?は文字列「aaaaa」に対してどのようにマッチしますか?ANSWER「aa」2文字クリックして解説を表示EXPLANATION{2,4}?は非貪欲な「2〜4回」なので、最小の2回でマッチしようとします。「aa」にマッチします。 - Q24
正規表現
foo(?!bar)は何にマッチしますか?ANSWER「foo」の後に「bar」が続かない場合クリックして解説を表示EXPLANATION(?!bar)は否定先読みで、「bar」が後に続かない場合にマッチします。「foobar」にはマッチせず、「foobaz」の「foo」にはマッチします。 - Q25
正規表現
(?<!@)\w+は「user@domain」のどの部分にマッチしますか(最初のマッチ)?ANSWER「user」クリックして解説を表示EXPLANATION(?<!@)は否定後読みで、「@」が前にない位置にマッチします。最初のマッチは「user」です(「domain」の前には「@」があるため)。 - Q26
アトミックグループ
(?>...)の特徴は何ですか?ANSWERバックトラックを防ぐクリックして解説を表示EXPLANATIONアトミックグループ
(?>...)は一度マッチした後、バックトラックしません。これによりパフォーマンスが向上することがありますが、マッチ結果が変わる場合もあります。 - Q27
正規表現
^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8,}$は何を検証していますか?ANSWERパスワード強度(大文字・小文字・数字を含む8文字以上)クリックして解説を表示EXPLANATIONこの正規表現は、大文字・小文字・数字を各1文字以上含み、8文字以上の文字列にマッチします。パスワード強度の検証によく使われます。
- Q28
正規表現
\b\w+\bは何にマッチしますか?ANSWER独立した単語クリックして解説を表示EXPLANATION\bは単語境界、\w+は1文字以上の単語構成文字にマッチします。この正規表現は独立した単語にマッチします。 - Q29
正規表現
(?i)helloは何を意味しますか?ANSWER大文字小文字を区別せずに「hello」にマッチクリックして解説を表示EXPLANATION(?i)はインラインフラグで、以降の部分で大文字小文字を区別しないマッチを行います。「hello」「HELLO」「Hello」などすべてにマッチします。 - Q30
正規表現
[\s\S]は何にマッチしますか?ANSWER改行を含む任意の1文字クリックして解説を表示EXPLANATION\sは空白文字、\Sは空白以外の文字にマッチします。[\s\S]は両方を含むので、改行を含む任意の1文字にマッチします。
- Q31
正規表現
(?:a|b)+と(a|b)+の違いは何ですか?ANSWERキャプチャの有無が異なるクリックして解説を表示EXPLANATION(?:...)は非キャプチャグループで、マッチ内容を保存しません。(a|b)+はキャプチャグループで、後方参照に使用できます。機能的なマッチ結果は同じです。 - Q32
文字列「The quick brown fox」で
\b\w{5}\bにマッチする単語はどれですか?ANSWER「quick」と「brown」クリックして解説を表示EXPLANATION\b\w{5}\bはちょうど5文字の単語にマッチします。「quick」と「brown」が5文字なので、これらにマッチします。 - Q33
正規表現
(a(b(c)))でグループ2は何をキャプチャしますか?ANSWER「bc」クリックして解説を表示EXPLANATIONネストしたグループは開き括弧の順に番号が振られます。グループ1は「a(b(c))」、グループ2は「b(c)」、グループ3は「c」をキャプチャします。
- Q34
正規表現
\d{1,3}(\.\d{1,3}){3}は何を表現していますか?ANSWERIPv4アドレスクリックして解説を表示EXPLANATIONこのパターンは「1〜3桁の数字」の後に「.と1〜3桁の数字」が3回続く形式にマッチします。IPv4アドレスの基本的な形式です。
- Q35
正規表現
(.)\1+は何にマッチしますか?ANSWER同じ文字が2回以上連続クリックして解説を表示EXPLANATION(.)は任意の1文字をキャプチャし、\1+はその文字が1回以上続くことを表します。つまり、同じ文字が2回以上連続するパターン(「aa」「bbb」など)にマッチします。 - Q36
正規表現
^(?!.*error).*$は何にマッチしますか?ANSWER「error」を含まない行クリックして解説を表示EXPLANATION(?!.*error)は否定先読みで、「error」を含まない場合にマッチします。この正規表現は「error」を含まない行全体にマッチします。 - Q37
正規表現
[a-z&&[^aeiou]]は何にマッチしますか?(Javaの場合)ANSWER小文字の子音クリックして解説を表示EXPLANATIONJavaでは
&&は文字クラスの共通部分(intersection)を表します。[a-z]と[^aeiou]の共通部分、つまり小文字の子音にマッチします。 - Q38
正規表現で
(?#comment)は何を表しますか?ANSWERコメントクリックして解説を表示EXPLANATION(?#...)はコメントを表し、正規表現の動作には影響しません。パターンの説明を記述するのに使用します(一部の実装でサポート)。 - Q39
正規表現
(?(1)yes|no)は何を表しますか?ANSWERグループ1の有無による条件分岐クリックして解説を表示EXPLANATIONこれは条件分岐で、グループ1がマッチした場合は「yes」、そうでない場合は「no」にマッチします(一部の実装でサポート)。
- Q40
正規表現
\p{L}は何にマッチしますか?ANSWERUnicodeのすべての文字(Letter)クリックして解説を表示EXPLANATION\p{L}はUnicodeの文字カテゴリ「Letter」にマッチします。あらゆる言語のアルファベット文字(日本語のひらがな・カタカナ・漢字も含む)にマッチします。
- Q41
正規表現
\p{N}は何にマッチしますか?ANSWERUnicodeのすべての数字(Number)クリックして解説を表示EXPLANATION\p{N}はUnicodeの文字カテゴリ「Number」にマッチします。アラビア数字だけでなく、全角数字やローマ数字なども含みます。 - Q42
正規表現
(?<=\d)(?=\d{3}(?!\d))は何に使われますか?ANSWER数字の桁区切り位置の検出クリックして解説を表示EXPLANATIONこの正規表現は、3桁ごとの位置にマッチします。数字の桁区切り(カンマ挿入位置)を見つけるのに使用されます。例:「1234567」→「1,234,567」
- Q43
正規表現
\K(一部の言語でサポート)は何をしますか?ANSWERマッチの開始位置をリセットするクリックして解説を表示EXPLANATION\Kはマッチの開始位置をリセットします。\Kより前の部分はマッチに含まれません。後読みの代わりに使用できます。 - Q44
正規表現
foo\Kbarは「foobar」に対して何をマッチさせますか?ANSWER「bar」のみクリックして解説を表示EXPLANATION\Kはマッチの開始位置をリセットするため、「foobar」に対して実際にマッチするのは「bar」だけです。「foo」は検索に使われますがマッチ結果には含まれません。 - Q45
正規表現でHTMLタグを非貪欲にマッチさせる場合、適切なのはどれですか?
ANSWER<[^>]+>クリックして解説を表示EXPLANATION<[^>]+>は「>」以外の文字にマッチするため、各タグを個別にマッチできます。<.+?>の非貪欲版と同様の効果がありますが、より効率的です。 - Q46
正規表現
^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,}$は何を検証していますか?ANSWERメールアドレスクリックして解説を表示EXPLANATIONこのパターンはメールアドレスの基本的な形式を検証します。「ユーザー名@ドメイン.TLD」の形式にマッチします。
- Q47
正規表現
(\w+)\s+\2は何を探していますか?ANSWER存在しないグループを参照している(エラー)クリックして解説を表示EXPLANATIONこの正規表現は不正です。
\2は2番目のキャプチャグループを参照しますが、グループは1つしかありません。正しくは\1を使用します。 - Q48
正規表現
(?=.*[!@#$%^&*])は何をチェックしていますか?ANSWER特殊文字を含むかクリックして解説を表示EXPLANATIONこの先読みは、文字列に
!@#$%^&*のいずれかの特殊文字が含まれているかをチェックします。パスワード強度検証でよく使われます。 - Q49
正規表現
(?<=href=")[^"]+(?=")は何をマッチさせますか?ANSWERhref属性の値(引用符内のURL)クリックして解説を表示EXPLANATIONこの正規表現は
href="と"の間にある文字列をマッチさせます。HTMLのhref属性の値(URL)を抽出するのに使用されます。 - Q50
正規表現
\b(?:one|two|three)\bと\b(one|two|three)\bの実用上の違いは?ANSWERキャプチャの有無とパフォーマンスクリックして解説を表示EXPLANATION両者のマッチ結果は同じですが、
(?:...)版はキャプチャしないため、置換操作で$1などを使用する場合に影響します。また、わずかにパフォーマンスが良い場合があります。
- Q51
正規表現
(?:(?!pattern).)*は何を表現していますか?ANSWER「pattern」を含まない文字列クリックして解説を表示EXPLANATIONこのパターンは「pattern」を含まない任意の文字列にマッチします。否定先読みを各文字でチェックすることで実現しています。
- Q52
正規表現
^(?:[a-z]+\.)*[a-z]+\.[a-z]{2,}$は何を検証していますか?ANSWERドメイン名クリックして解説を表示EXPLANATIONこのパターンはドメイン名(「sub.example.com」形式)を検証します。オプションのサブドメイン、メインドメイン、TLDで構成されます。
- Q53
正規表現
(\d)(?=\d{2}(?:\d{3})*$)は何に使われますか?ANSWER3桁ごとの区切り位置の検出クリックして解説を表示EXPLANATIONこのパターンは数字を3桁ごとに区切る位置を見つけるのに使用されます。コンマなどの区切り文字を挿入する位置を特定できます。
- Q54
正規表現
\R(一部の言語でサポート)は何にマッチしますか?ANSWER任意の改行シーケンスクリックして解説を表示EXPLANATION\Rは改行シーケンス(\r\n、\n、\rなど)にマッチします。異なるOS間での改行コードの違いを吸収できます。 - Q55
正規表現
(?<=["'])(.+?)(?=["'])は何をマッチさせますか?ANSWER引用符で囲まれた文字列の内容クリックして解説を表示EXPLANATIONこのパターンは引用符(シングルまたはダブル)で囲まれた文字列の内容をマッチさせます。引用符自体はマッチに含まれません。
- Q56
正規表現で
(?m)^lineは何にマッチしますか?ANSWER各行の先頭にある「line」クリックして解説を表示EXPLANATION(?m)は複数行モードを有効にし、^が各行の先頭にマッチするようになります。各行の先頭にある「line」にマッチします。 - Q57
正規表現
[\w&&[\d]]はJavaで何にマッチしますか?ANSWER数字のみクリックして解説を表示EXPLANATIONJavaの
&&は文字クラスの共通部分を表します。\w(単語文字)と\d(数字)の共通部分、つまり数字にマッチします。 - Q58
正規表現
\Gは何を表しますか?ANSWER前回のマッチの終了位置クリックして解説を表示EXPLANATION\Gは前回のマッチの終了位置(または文字列の先頭)にマッチします。連続したマッチを行う際に使用されます。 - Q59
正規表現
\Aと^の違いは何ですか?ANSWER\Aは常に文字列の先頭、^は複数行モードで各行の先頭クリックして解説を表示EXPLANATION\Aは常に文字列全体の先頭にのみマッチしますが、^は複数行モードでは各行の先頭にもマッチします。 - Q60
正規表現
\Zと$の違いは何ですか?ANSWER\Zは文字列の末尾、$は複数行モードで各行の末尾クリックして解説を表示EXPLANATION\Zは文字列の末尾(または末尾の改行の前)にのみマッチしますが、$は複数行モードでは各行の末尾にもマッチします。
- Q61
正規表現
\zと\Zの違いは何ですか?ANSWER\zは絶対的な末尾、\Zは末尾の改行前も許容クリックして解説を表示EXPLANATION\zは文字列の絶対的な末尾にのみマッチしますが、\Zは末尾の改行の前にもマッチします。 - Q62
正規表現
(a+)(a+)は文字列「aaaa」にどのようにマッチしますか?ANSWER「aaa」と「a」クリックして解説を表示EXPLANATION貪欲マッチでは最初の
(a+)が可能な限り多くマッチしようとしますが、2番目の(a+)も最低1つ必要なため、結果として「aaa」と「a」に分かれます。 - Q63
正規表現
(a+?)(a+)は文字列「aaaa」にどのようにマッチしますか?ANSWER「a」と「aaa」クリックして解説を表示EXPLANATION非貪欲な
(a+?)は最小限の「a」1つにマッチし、残りの「aaa」が2番目の(a+)にマッチします。 - Q64
正規表現
(?:(?<=\s)|(?<=^))\w+は何にマッチしますか?ANSWER空白または行頭に続く単語クリックして解説を表示EXPLANATIONこのパターンは空白の後または文字列の先頭にある単語にマッチします。つまり、単語の先頭から単語全体をマッチさせます。
- Q65
正規表現
(.+)\1は「abab」にマッチしますか?ANSWERマッチするクリックして解説を表示EXPLANATION(.+)は貪欲マッチなので「aba」をキャプチャしようとしますが、\1が同じ「aba」を必要とし、残りの文字では不足します。バックトラックして「ab」をキャプチャし、「abab」全体にマッチします。 - Q66
正規表現で日本語のひらがなにマッチさせる文字クラスはどれですか?
ANSWER[\u3040-\u309F]クリックして解説を表示EXPLANATIONひらがなのUnicode範囲は
\u3040-\u309Fです。この範囲を文字クラスで指定することで、ひらがなにマッチさせることができます。 - Q67
正規表現
(?s).+のフラグ(?s)は何を意味しますか?ANSWERドットが改行にもマッチするクリックして解説を表示EXPLANATION(?s)はdotallモード(single-lineモード)を有効にし、.が改行文字にもマッチするようになります。 - Q68
正規表現の「x」フラグ(拡張モード)の機能は何ですか?
ANSWER空白を無視しコメントを許可するクリックして解説を表示EXPLANATION「x」フラグ(拡張/自由形式モード)では、パターン内の空白が無視され、
#でコメントを記述できます。複雑なパターンを読みやすくできます。 - Q69
正規表現
(?x) \d{3} - \d{4}は何にマッチしますか?ANSWER「123-4567」(スペースなし)クリックして解説を表示EXPLANATION拡張モード
(?x)では空白が無視されるため、このパターンは\d{3}-\d{4}と同等です。「123-4567」のようなパターンにマッチします。 - Q70
正規表現
(?-i)abcのフラグ(?-i)は何を意味しますか?ANSWER大文字小文字を区別する(iフラグを無効化)クリックして解説を表示EXPLANATION(?-i)は大文字小文字を区別するモードを明示的に有効にします(iフラグを無効化)。(?i)で有効にしたフラグを部分的に無効にする際に使用します。
- Q71
正規表現
\X(一部の言語でサポート)は何にマッチしますか?ANSWERUnicodeグラフェムクラスタクリックして解説を表示EXPLANATION\XはUnicodeのグラフェムクラスタ(結合文字を含む1つの「文字」として認識される単位)にマッチします。絵文字や結合文字を正しく扱えます。 - Q72
正規表現
(?|(a)|(b)|(c))の特徴は何ですか?ANSWER各選択肢のグループ番号がリセットされるクリックして解説を表示EXPLANATION(?|...)はブランチリセットグループで、各選択肢のキャプチャグループ番号がリセットされます。どの選択肢でも同じグループ番号1でアクセスできます。 - Q73
正規表現
(?P=name)は何を表しますか?(Pythonの場合)ANSWER名前付きキャプチャグループへの後方参照クリックして解説を表示EXPLANATIONPythonでは
(?P=name)は名前付きキャプチャグループ(?P<name>...)への後方参照です。\1のような番号の代わりに名前で参照できます。 - Q74
正規表現
\k<name>は何を表しますか?ANSWER名前付きキャプチャグループへの後方参照クリックして解説を表示EXPLANATION\k<name>は名前付きキャプチャグループへの後方参照です。多くの言語でサポートされている構文で、(?P=name)と同様の機能を持ちます。 - Q75
正規表現
^(?!.*(?:password|secret)).*$は何を検証していますか?ANSWER「password」や「secret」を含まない行クリックして解説を表示EXPLANATIONこの正規表現は「password」や「secret」を含まない行にマッチします。否定先読みで特定の単語を含まないことを確認しています。
- Q76
正規表現
(?>a+)aは「aaaa」にマッチしますか?ANSWERマッチしないクリックして解説を表示EXPLANATIONアトミックグループ
(?>a+)は一度マッチすると、バックトラックしません。すべての「a」を消費してしまい、後続の「a」にマッチする文字が残らないため、マッチしません。 - Q77
正規表現
\b(?!un)\w+\bは何にマッチしますか?ANSWER「un」で始まらない単語クリックして解説を表示EXPLANATIONこのパターンは「un」で始まらない単語にマッチします。否定先読み
(?!un)が単語の先頭で「un」でないことを確認します。 - Q78
正規表現
(?<=\d)(?=(\d{3})+(?!\d))で見つかるのは何ですか?ANSWER数字の桁区切り位置クリックして解説を表示EXPLANATIONこのパターンは数字の桁区切り位置(3桁ごと)を見つけます。例えば「1234567」では「1」と「2」の間、「4」と「5」の間の位置にマッチします。
- Q79
正規表現
\p{Sc}は何にマッチしますか?ANSWER通貨記号クリックして解説を表示EXPLANATION\p{Sc}(Symbol, Currency)は通貨記号($、€、¥など)にマッチするUnicodeカテゴリです。 - Q80
正規表現
\p{P}は何にマッチしますか?ANSWER句読点クリックして解説を表示EXPLANATION\p{P}(Punctuation)は句読点(カンマ、ピリオド、括弧など)にマッチするUnicodeカテゴリです。
- Q81
正規表現で文字列の途中に改行を含むパターンをマッチさせる最も汎用的な方法は?
ANSWER[\s\S](または(?s).)クリックして解説を表示EXPLANATION[\s\S]*は空白文字と非空白文字の両方、つまり改行を含むすべての文字にマッチします。.*は通常改行にマッチしません。 - Q82
正規表現
(?!.*\bword\b)は何をチェックしていますか?ANSWER「word」が含まれていないことクリックして解説を表示EXPLANATIONこの否定先読みは、文字列に「word」という独立した単語が含まれていないことをチェックします。
- Q83
正規表現
[^\x00-\x7F]は何にマッチしますか?ANSWER非ASCII文字(日本語など)クリックして解説を表示EXPLANATION\x00-\x7FはASCII範囲(0-127)を表します。その否定[^\x00-\x7F]は非ASCII文字(日本語、絵文字など)にマッチします。 - Q84
正規表現
[\x00-\x7F]は何にマッチしますか?ANSWERASCII文字(0-127)クリックして解説を表示EXPLANATION\x00-\x7FはASCII範囲(0-127)の文字にマッチします。英数字、記号、制御文字などのASCII文字すべてを含みます。 - Q85
正規表現
(?<=^|\s)\w+は何にマッチしますか?ANSWER先頭または空白の後にある単語クリックして解説を表示EXPLANATIONこのパターンは文字列の先頭または空白の後にある単語にマッチします。単語の開始位置を正確に特定できます。
- Q86
正規表現
\b\d+(?:\.\d+)?\bは何にマッチしますか?ANSWER整数または小数クリックして解説を表示EXPLANATIONこのパターンは整数または小数にマッチします。
(?:\.\d+)?は小数部分がオプショナルであることを表します。「123」「45.67」などにマッチします。 - Q87
正規表現
^(?=.{8,})(?=.*[A-Z])(?=.*[a-z])(?=.*\d)は何を検証していますか?ANSWERパスワード強度(複数条件)クリックして解説を表示EXPLANATIONこの正規表現は複数の先読みを使用して、8文字以上で大文字・小文字・数字を各1文字以上含むことを同時に検証します。パスワード強度の検証に使用されます。
- Q88
正規表現
(a)?b\1は「b」にマッチしますか?ANSWERマッチするクリックして解説を表示EXPLANATION(a)?はオプショナルなので「a」がなくてもマッチします。しかし\1はグループ1の内容を参照し、マッチしなかった場合は空文字列になります。「b」の後に空文字列が続くので、マッチします。 - Q89
正規表現で
(*FAIL)または(?!)は何を意味しますか?ANSWER常に失敗するクリックして解説を表示EXPLANATION(*FAIL)(一部の実装)や(?!)(空の否定先読み)は常にマッチに失敗します。バックトラックを強制したり、テスト目的で使用されます。 - Q90
正規表現
(\d+)-(\d+)で文字列「123-456」からグループ1の内容は何ですか?ANSWER「123」クリックして解説を表示EXPLANATION最初のキャプチャグループ
(\d+)は「123」をキャプチャします。グループ2は「456」をキャプチャします。
- Q91
正規表現
a(?:bc)+dは「abcbcd」にマッチしますか?ANSWERマッチするクリックして解説を表示EXPLANATION(?:bc)+は非キャプチャグループで、「bc」が1回以上繰り返すパターンにマッチします。「abcbcd」は「a」「bcbc」「d」でマッチします。 - Q92
正規表現
\d+(?!\.)は何にマッチしますか?ANSWER小数点が後に続かない数字クリックして解説を表示EXPLANATION否定先読み
(?!\.)は、後ろにドットが続かない位置にマッチします。このパターンは、小数点が後に続かない数字にマッチします。 - Q93
正規表現
(?i)[a-z]+は「HELLO」にマッチしますか?ANSWERマッチするクリックして解説を表示EXPLANATION(?i)は大文字小文字を区別しないフラグです。[a-z]+は小文字を指定していますが、このフラグにより大文字の「HELLO」にもマッチします。 - Q94
正規表現
(a)(b)(c)で\3は何を参照しますか?ANSWER「c」クリックして解説を表示EXPLANATION\3は3番目のキャプチャグループ、つまり(c)でキャプチャされた内容を参照します。 - Q95
正規表現
.*?xは「abcxdefx」に対してどのようにマッチしますか?ANSWER「abcx」(最初のxまで)クリックして解説を表示EXPLANATION非貪欲マッチ
.*?は可能な限り少ない文字でマッチしようとします。最初の「x」までの「abcx」にマッチします。 - Q96
正規表現
(?<=@)\w+は「user@domain」のどの部分にマッチしますか?ANSWER「domain」クリックして解説を表示EXPLANATION肯定後読み
(?<=@)は「@」の後の位置にマッチします。その位置から\w+が「domain」にマッチします。 - Q97
正規表現
\b\w{4,6}\bは何にマッチしますか?ANSWER4〜6文字の単語クリックして解説を表示EXPLANATION\bは単語境界、\w{4,6}は単語構成文字が4〜6文字にマッチします。4〜6文字の独立した単語にマッチします。 - Q98
正規表現
(ab|cd)+は「abcdab」にマッチしますか?ANSWER「abcdab」全体にマッチクリックして解説を表示EXPLANATION(ab|cd)+は「ab」または「cd」が1回以上繰り返すパターンにマッチします。「abcdab」は「ab」「cd」「ab」でマッチします。 - Q99
正規表現
^(?!.*test).*$は「This is a test」にマッチしますか?ANSWERマッチしないクリックして解説を表示EXPLANATION否定先読み
(?!.*test)は「test」を含まない場合にマッチします。「This is a test」は「test」を含むため、マッチしません。 - Q100
正規表現
(?<name>\w+)で定義した名前付きグループを参照する方法として正しいのはどれですか?ANSWER\k<name>または(?P=name)などクリックして解説を表示EXPLANATION名前付きグループへの参照は言語により異なりますが、
\k<name>(JavaScript、.NET)、(?P=name)(Python)、\g{name}(Perl)などが使用されます。