如何检测下划线(“_”)之间的数字?

时间:2014-07-14 06:45:54

标签: c# regex

抱歉,首先,我不擅长正则表达,但任何人都可以帮助我吗?我有一个名为:

的文件
  

文件名 - 01.exe

     

文件名 - 001.exe

     

文件名 - 0001.exe

     

Filename_01_.exe

我试过这个正则表达式

(?=.*?)\d{1,4}\b

但是,只检测01,001,0001号码在Filename - 01.exe,Filename - 001.exe和Filename - 0001.exe,不能使用Filename_01_.exe 我的正则表达式是错误的还是备用正则表达式或方法?

对不起,如果我的英语不好。

2 个答案:

答案 0 :(得分:2)

由于文件中只有一个数字,如何简单地使用它:

\d+

在C#中:

var myRegex = new Regex(@"\d+");
string resultString = myRegex.Match(yourString).Value;
Console.WriteLine(resultString);

答案 1 :(得分:1)

如果您只需要01示例中的Trailer ep 01 720p.mp4,请使用字边界,

\b[0-9]+\b

\b匹配单词字符和非单词字符。

以下正则表达式将匹配位于字边界或_符号之间的数字。

(?:_|\b)\K[0-9]+(?=_|\b)

DEMO