私がここで何を見逃しているのかよくわかりません。動作しなければならないいくつかの組み合わせを試しましたが、結合するたびに最後の数値セットが削除されます。
また、役に立つかどうかを調べるために、ダッシュ文字を「-」にしました(そうではありませんでした)。
サンプル
PriceVolHistory_KITDQ_v1 (Range_0343935).xlsx
Amex_Robin Smyth (Range_0339935-0339982).pdf
0-CHIPS Participant List - 05-05-15 (Range_0339985-0339986).pdf
0-CHIPS Payment Message Key (Range_0339987-0339990).pdf
0-CHIPS Payment Message Structure (range_0339983-0339984).pdf
2610 Data (Range_0339991).xlsx
正規表現
Range_(\d{7}|\d{7}-\d{7})
Range_(\d{7}|Range_\d{7}-\d{7})
ここのサンプル -https://regex101.com/r/skjYvn/1
どんな助けでも大変感謝します。ありがとうございます。
答え1
正規表現は貪欲です。最初の可能な項目と一致します。 (|a|b)
常に空の文字列と一致します。
繰り返しますが、(\d{7}|\d{7}-\d{7})
常に一致します\d{7}
(またはまったく一致しません)。 2番目のオプションに進みません。
代わりに、あなたが望むものです(\d{7}-\d{7}|\d{7})
。しかし、なぜそんなに冗談ですか?
\d{7}(-\d{7})?
うまくいきます。
だからあなたは次のようになります:
Range_\d{7}(-\d{7})?