字符串后匹配数字

时间:2014-08-28 17:28:14

标签: c# regex

我有一个非常简单的字符串,我试图匹配,但似乎无法使其正常工作。我想在字符串后匹配一些数字,并发出尾随的%。

encodeTime=10%

我已经尝试过向前看但它似乎没有效果。它只匹配整个字符串。

(?=encodeTime=)[^\s]+

有没有办法可以只匹配数字,然后发出%?

2 个答案:

答案 0 :(得分:1)

为此目的,你需要一个lookbehind,而(?=encodeTime=)并不是一个有效的正面看法。

(?<=encodeTime=)\d+

DEMO

答案 1 :(得分:1)

对于像这样简单的事情,你不需要任何形式的断言断言。使用capturing group并使用匹配。 Groups属性来引用该群组并打印您的匹配结果。

String s = "encodeTime=10%";
Match m  = Regex.Match(s, @"encodeTime=(\d+)");
if (m.Success)
   Console.WriteLine(m.Groups[1].Value); //=> "10"