正则表达式问题(C#)

时间:2011-06-08 15:30:15

标签: c# regex

如何在以下文件名中编写正则表达式(_Rev.n.nn)(其中n是数字):

  • Filename_Rev。 1.00
  • Filename_Rev。 1.10

由于

3 个答案:

答案 0 :(得分:2)

以下应该有效(对于整行):

@"^Filename_Rev\.\s\d\.\d\d$"

答案 1 :(得分:1)

应捕获版本> 9 编辑:修正

string captureString = "abc123butts_Rev. 1.00";
Regex reg = new Regex(@"(.(?!_Rev))+\w_Rev\. (?<version>\d+\.\d+)");
string version = reg.Match(captureString).Groups["version"].Value;

答案 2 :(得分:0)

建立@ leppie的回答(给他绿色检查而不是我),你可以通过在\d周围放置parens来从你的正则表达式匹配中提取数字。

Regex foo = new Regex(@"_Rev\.\s(\d)\.(\d\d)$");
GroupCollection groups = foo.Match("Filename_Rev. 1.00").Groups;
string majorNum = groups[1].Value;
string minorNum = groups[2].Value;
System.Console.WriteLine(majorNum);
System.Console.WriteLine(minorNum);