yahoo pipes の Regex モジュール1 - 55 of 55
のみを取得するには、どの正規表現を適用して置換する必要があるかを知りたいです。55
ありがとう
yahoo pipes の Regex モジュール1 - 55 of 55
のみを取得するには、どの正規表現を適用して置換する必要があるかを知りたいです。55
ありがとう
マッチ
\d+ - (\d+) of \1
と
$1
これを一致させることができます:
\d+ - (\d+) of \1
$1
そして、グループ 1 がキャプチャした に置き換えます。
は\d
数字の文字クラスで、+
1 回以上の繰り返しです。はキャプチャ グループであり、(…)
はそのグループが一致するものを参照します。したがって、これは次のような文字列に一致します。\1
num1 - num2 of num2
| |
\________/ must match
このパターンは、空白の一致をより柔軟にするためのわずかな変更です。
\d+\s+-\s+(\d+)\s+of\s+\1
これは前のパターンに似ていますが、以前はリテラル スペース文字だけだったところはどこでも を使用します\s+
。これは、任意の数の空白文字の空でないシーケンスに一致するパターンです。これには、改行、タブなどが含まれます。
3 番目の数値が 2 番目の数値と同じである必要がない場合は、\d+
代わりに別の数値を使用し\1
ます。
\d+\s+-\s+\d+\s+of\s+(\d+)
これで、 のような文字列に一致"1 - 20 of 149"
し、間隔が自由になります。角かっこは 3 番目の数字に一致するように移動したため、文字列全体をその数字 (149
この場合) に置き換える場合は、単純に に置き換え$1
ます。
3 つの数値すべてを個別にキャプチャする場合は、次のように記述できます。
(\d+)\s+-\s+(\d+)\s+of\s+(\d+)
\___/ \___/ \___/
1 2 3
これで、最初の数字はグループ 1 によってキャプチャされ、2 番目の数字はグループ 2 によってキャプチャされ、3 番目の数字はグループ 3 によってキャプチャされます。