中級
STAGE 1
110問目 • 10
  • 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

    (?<!...)は否定後読みを表します。指定したパターンが前にない位置にマッチします。

STAGE 2
1120問目 • 10
  • 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」です。

STAGE 3
2130問目 • 10
  • 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文字にマッチします。

STAGE 4
3140問目 • 10
  • 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}は何を表現していますか?

    ANSWER
    IPv4アドレス
    クリックして解説を表示
    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
    小文字の子音
    クリックして解説を表示
    EXPLANATION

    Javaでは&&は文字クラスの共通部分(intersection)を表します。[a-z][^aeiou]の共通部分、つまり小文字の子音にマッチします。

  • Q38

    正規表現で(?#comment)は何を表しますか?

    ANSWER
    コメント
    クリックして解説を表示
    EXPLANATION

    (?#...)はコメントを表し、正規表現の動作には影響しません。パターンの説明を記述するのに使用します(一部の実装でサポート)。

  • Q39

    正規表現(?(1)yes|no)は何を表しますか?

    ANSWER
    グループ1の有無による条件分岐
    クリックして解説を表示
    EXPLANATION

    これは条件分岐で、グループ1がマッチした場合は「yes」、そうでない場合は「no」にマッチします(一部の実装でサポート)。

  • Q40

    正規表現\p{L}は何にマッチしますか?

    ANSWER
    Unicodeのすべての文字(Letter)
    クリックして解説を表示
    EXPLANATION

    \p{L}はUnicodeの文字カテゴリ「Letter」にマッチします。あらゆる言語のアルファベット文字(日本語のひらがな・カタカナ・漢字も含む)にマッチします。

STAGE 5
4150問目 • 10
  • Q41

    正規表現\p{N}は何にマッチしますか?

    ANSWER
    Unicodeのすべての数字(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=")[^"]+(?=")は何をマッチさせますか?

    ANSWER
    href属性の値(引用符内のURL)
    クリックして解説を表示
    EXPLANATION

    この正規表現はhref=""の間にある文字列をマッチさせます。HTMLのhref属性の値(URL)を抽出するのに使用されます。

  • Q50

    正規表現\b(?:one|two|three)\b\b(one|two|three)\bの実用上の違いは?

    ANSWER
    キャプチャの有無とパフォーマンス
    クリックして解説を表示
    EXPLANATION

    両者のマッチ結果は同じですが、(?:...)版はキャプチャしないため、置換操作で$1などを使用する場合に影響します。また、わずかにパフォーマンスが良い場合があります。

STAGE 6
5160問目 • 10
  • 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})*$)は何に使われますか?

    ANSWER
    3桁ごとの区切り位置の検出
    クリックして解説を表示
    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
    数字のみ
    クリックして解説を表示
    EXPLANATION

    Javaの&&は文字クラスの共通部分を表します。\w(単語文字)と\d(数字)の共通部分、つまり数字にマッチします。

  • Q58

    正規表現\Gは何を表しますか?

    ANSWER
    前回のマッチの終了位置
    クリックして解説を表示
    EXPLANATION

    \Gは前回のマッチの終了位置(または文字列の先頭)にマッチします。連続したマッチを行う際に使用されます。

  • Q59

    正規表現\A^の違いは何ですか?

    ANSWER
    \Aは常に文字列の先頭、^は複数行モードで各行の先頭
    クリックして解説を表示
    EXPLANATION

    \Aは常に文字列全体の先頭にのみマッチしますが、^は複数行モードでは各行の先頭にもマッチします。

  • Q60

    正規表現\Z$の違いは何ですか?

    ANSWER
    \Zは文字列の末尾、$は複数行モードで各行の末尾
    クリックして解説を表示
    EXPLANATION

    \Zは文字列の末尾(または末尾の改行の前)にのみマッチしますが、$は複数行モードでは各行の末尾にもマッチします。

STAGE 7
6170問目 • 10
  • 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)で有効にしたフラグを部分的に無効にする際に使用します。

STAGE 8
7180問目 • 10
  • Q71

    正規表現\X(一部の言語でサポート)は何にマッチしますか?

    ANSWER
    Unicodeグラフェムクラスタ
    クリックして解説を表示
    EXPLANATION

    \XはUnicodeのグラフェムクラスタ(結合文字を含む1つの「文字」として認識される単位)にマッチします。絵文字や結合文字を正しく扱えます。

  • Q72

    正規表現(?|(a)|(b)|(c))の特徴は何ですか?

    ANSWER
    各選択肢のグループ番号がリセットされる
    クリックして解説を表示
    EXPLANATION

    (?|...)はブランチリセットグループで、各選択肢のキャプチャグループ番号がリセットされます。どの選択肢でも同じグループ番号1でアクセスできます。

  • Q73

    正規表現(?P=name)は何を表しますか?(Pythonの場合)

    ANSWER
    名前付きキャプチャグループへの後方参照
    クリックして解説を表示
    EXPLANATION

    Pythonでは(?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カテゴリです。

STAGE 9
8190問目 • 10
  • 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]は何にマッチしますか?

    ANSWER
    ASCII文字(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」をキャプチャします。

STAGE 10
91100問目 • 10
  • 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は何にマッチしますか?

    ANSWER
    4〜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)などが使用されます。