モジュールのレッスン (2/4)
代替: `|`
パイプ | は正規表現の OR です。次のいずれかの場合にパターンが一致します。
代替 が一致します。その優先順位は 非常に低い: | はすべてを分離します
左右に、それを囲むグループまたはパターンの先頭まで移動します。
Pattern: cane|gatto|criceto
Sample: Ho un cane, un gatto e un criceto.
^^^^ ^^^^^ ^^^^^^^括弧は優先順位を決定します
括弧がないと、選択肢はパターンの最初から最後まで続きます。ほぼ 常に OR をパターンの部分に制限したい場合は、それをラップします。 グループ。
Pattern Significato (errato vs corretto)
^a|b$ "inizio + a" oppure "b + fine" (probabilmente sbagliato)
^(a|b)$ "inizio + (a oppure b) + fine" (probabilmente giusto)代替案の一般的な順序について: 最も多いものを入れます
特定の/最も長いものを最初に。エンジンは左から右に試行し、次の位置で停止します。
最初に一致するもの: gat|gatto は常に gat のみと一致します。
代替案の優先順位と分離
| 演算子の優先順位は非常に低くなります。 ^abc|def$ と記述すると、「abc で始まる文字列、または def で終わる文字列」を探します。 「文字列の先頭、abc または def、文字列の末尾」を検索するには、^(abc|def)$ と記述する必要があります。
試してみてください
テキスト内で 3 つの動物「cane」、「gatto」、「criceto」が出現する箇所をすべて見つけます (順序は自由です)。
ヒントを表示
パイプは代替案を分離します。すべてをキャッチするには g フラグを使用してください。
3 回の試行後に解決策が利用可能になります
復習演習
単語 `gennaio` または `febbraio` は単語全体としてのみ検索します (長い単語内での一致を避けるには `\\b` を使用します)。代替を制限するには、括弧を使用します。
ヒントを表示
\\b(gennaio|febbraio)\\b は、単語全体に選択を固定します。
3 回の試行後に解決策が利用可能になります
追加の課題
拡張子「.jpg」、「.png」、または「.gif」で終わるファイル名を検索します。
ヒントを表示
グループ内のパイプを使用して、内線を交互に切り替えます。
3 回の試行後に解決策が利用可能になります