モジュール 5 · レッスン 3 / 4コース内の 19/32~8 min
モジュールのレッスン (3/4)
否定: `[^...]`
キャレット ^ を角かっこ内の 最初 文字として配置します
クラスを 反転します。リストされている文字を除く任意の文字と一致します。
Code
Pattern: [^aeiou]
Sample: ciao mondo
^ ^^ ^[^aeiou] は、子音、スペース、句読点、数字\u2026 すべてに一致します
は母音ではありません。
代表的な例
[^\s]-- 任意の「非スペース」文字 (\Sと同等)。[^0-9]-- 数字ではないもの (\Dと同等)。[^"]+-- 「二重引用符ではない一連の文字」 (次の場合に役立ちます) 引用符の間の内容を抽出します)。
Code
Pattern: "([^"]+)"
Sample: Il libro "Il nome della rosa" e' famoso.グループ ([^"]+) は引用符の間のすべてをキャプチャします 停止中
次の " の前: これは、
貪欲対怠惰の問題。
否定および代替ワイルドカード
否定されたクラス [^...] は、リストされたセットの一部ではない文字を 1 つだけ消費します。これは、エンジンが重要な区切り文字を超えて実行されるのを防ぎ、無限バックトラッキング ループによって引き起こされる ReDoS を回避する強力なツールです。
試してみてください
運動#regex.m5.l3.e1
試行回数: 0読み込み中…
二重引用符自体を取得せずに、二重引用符で囲まれたすべての文字列の内容を抽出します。
エディターを読み込み中…
ヒントを表示
.+ を [^"]+ に置き換えます。このようにして、一致は次の引用符で停止します。
3 回の試行後に解決策が利用可能になります
復習演習
運動#regex.m5.l3.e2
試行回数: 0読み込み中…
子音のみで構成される単語をすべて検索します (母音、数字、記号は含まれません)。
エディターを読み込み中…
ヒントを表示
括弧内では、母音否定と \\W (単語以外) および \\d (数字) を組み合わせることができます。
3 回の試行後に解決策が利用可能になります
追加の課題
運動#regex.m5.l3.e3
試行回数: 0読み込み中…
空白とカンマを明示的に除外して、1 つ以上の文字のシーケンスと一致します。
エディターを読み込み中…
ヒントを表示
[^\\s,] を + 量指定子とともに使用します。
3 回の試行後に解決策が利用可能になります