不知道我在这里缺少什么。我尝试了几种应该有效的组合,但是每次组合时,最后一组数字都会被删除。
我还制作了破折号文字“-”,看看它是否有帮助(没有)
样本数据
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}
(或根本不匹配)。它永远不会进行第二个选项。
相反,你想要的是(\d{7}-\d{7}|\d{7})
.但为什么要这么冗长呢?
\d{7}(-\d{7})?
也会同样有效。
所以你得到:
Range_\d{7}(-\d{7})?