メインコンテンツにスキップ
モジュール 4 · レッスン 2 / 4コース内の 14/32~10 min
モジュールのレッスン (2/4)

代替: `|`

パイプ | は正規表現の OR です。次のいずれかの場合にパターンが一致します。 代替 が一致します。その優先順位は 非常に低い: | はすべてを分離します 左右に、それを囲むグループまたはパターンの先頭まで移動します。

Code
Pattern: cane|gatto|criceto
Sample:  Ho un cane, un gatto e un criceto.
               ^^^^     ^^^^^         ^^^^^^^

括弧は優先順位を決定します

括弧がないと、選択肢はパターンの最初から最後まで続きます。ほぼ 常に OR をパターンの部分に制限したい場合は、それをラップします。 グループ。

Code
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)$ と記述する必要があります。

試してみてください

運動#regex.m4.l2.e1
試行回数: 0読み込み中…

テキスト内で 3 つの動物「cane」、「gatto」、「criceto」が出現する箇所をすべて見つけます (順序は自由です)。

エディターを読み込み中…
ヒントを表示

パイプは代替案を分離します。すべてをキャッチするには g フラグを使用してください。

3 回の試行後に解決策が利用可能になります

復習演習

運動#regex.m4.l2.e2
試行回数: 0読み込み中…

単語 `gennaio` または `febbraio` は単語全体としてのみ検索します (長い単語内での一致を避けるには `\\b` を使用します)。代替を制限するには、括弧を使用します。

エディターを読み込み中…
ヒントを表示

\\b(gennaio|febbraio)\\b は、単語全体に選択を固定します。

3 回の試行後に解決策が利用可能になります

追加の課題

運動#regex.m4.l2.e3
試行回数: 0読み込み中…

拡張子「.jpg」、「.png」、または「.gif」で終わるファイル名を検索します。

エディターを読み込み中…
ヒントを表示

グループ内のパイプを使用して、内線を交互に切り替えます。

3 回の試行後に解決策が利用可能になります