我的输入字符串如下
1)ISBN_9781338034424_001_S_r1.mp3
2)001_Ch001_987373737.mp3
3)这是测试001 Chap01.mp3
4)Anger_Cha01_001.mp3
我正在使用以下正则表达式选择" 001"进入TrackNumber组
(?:(?<TrackNumber>\d{3})|(?<Revision>r\d{1}))(?![a-zA-Z])
然而,上面的内容也接受了&#34; 978&#34;,&#34; 133&#34;,&#34; 803&#34;等等进入TrackNumber组(例1和2)。
如何更改上述正则表达式以仅选择&#34; 001&#34;进入TrackNumber?
-Alan -
答案 0 :(得分:3)
以下正则表达式将匹配所有示例中的3位数曲目编号:
(?<=\b|_)(?<TrackNumber>\d{3})(?=\b|_)
(?<=\b|_)
正向后视,前一个字符是单词边界(即空格)或下划线(?=\b|_)
正向前瞻,下一个字符是字边界(即空格)或下划线