モジュール 7 · レッスン 1 / 4コース内の 25/32~12 min
モジュールのレッスン (1/4)
すべてのフラグの詳細
最新の JavaScript で使用できるすべての フラグ の完全な要約 (ES2024)。フラグは、 正規表現;それらは任意の順序で組み合わせることができます。
| 旗 | 名前 | 効果 |
|---|---|---|
g | グローバル | 最初の一致だけでなく、すべての一致を検索します (matchAll に必要)。 |
i | 大文字と小文字を区別しない | 大文字と小文字は区別されません (u/v フラグを持つ Unicode 文字を含む)。 |
m | 複数行 | ^ と $ は、文字列だけでなく、行の開始/終了とも一致します。 |
s | ドットオール | . は改行 \n とも一致します。 |
u | ユニコード | コード ポイント > 0xFFFF を正しく処理し、\\p{...} を有効にします。 |
v | Unicode v モード | 集合演算を備えた u の最新の拡張機能 ([abc&&[def]])。 |
y | スティッキー | 位置 lastIndex からのみ一致し、スキップしません。 |
d | インデックスあり | 結果には、各グループの開始/終了を含む indices が含まれます。 |
JS
const re = /foo/gimu; // global + insensitive + multiline + unicode
re.flags; // "gimu" (always in canonical order: dgimsuvy)代表的な組み合わせ
g+i-- 「大文字と小文字を区別せずにすべて検索します」。実用化率は80%。g+m-- 複数行のテキストの行ごとに一致します。g+s-- 「ドットは改行を含むあらゆるものと一致します」。複数行にわたるブロックを抽出する場合に便利です。u(またはv) -- 任意の言語または絵文字による現実世界のテキストを扱う場合は 常に。
Unicode v モードとフラグの進化
v フラグ (ES2024 で利用可能) は u を置き換え、文字クラスの交差や減算などのセットに対する高度な操作を有効にします (例: [\\p{White_Space}&&\\p{ASCII}])。
試してみてください
運動#regex.m7.l1.e1
試行回数: 0読み込み中…
大文字と小文字に関係なく、「ciao」が出現するすべての文字列を検索します。正しいフラグを使用してください。
エディターを読み込み中…
ヒントを表示
g の隣に i フラグ (大文字と小文字を区別しない) を追加します。
3 回の試行後に解決策が利用可能になります
復習演習
運動#regex.m7.l1.e2
試行回数: 0読み込み中…
改行が含まれている場合でも、`<pre>` と `</pre>` の間のブロックを検索します。ドットを改行にも一致させるフラグを使用する必要があります。
エディターを読み込み中…
ヒントを表示
s フラグを追加します。改行にも一致し、lazy .+? を使用します。最初の </pre> で停止します。
3 回の試行後に解決策が利用可能になります
追加の課題
運動#regex.m7.l1.e3
試行回数: 0読み込み中…
Match sequences of ASCII characters, explicitly excluding digits, using Unicode v-mode properties (flag `v`) and set subtraction syntax `[\p{ASCII}--\p{Nd}]+`.
エディターを読み込み中…
ヒントを表示
v フラグを使用して、数値を除外するセット減算 [\\p{ASCII}--\\p{Nd}]+ を記述します。
3 回の試行後に解決策が利用可能になります