字符串后面的匹配数字

本文关键字:数字 字符串 | 更新日期: 2023-09-27 18:19:44

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

encodeTime=10%

我试着向前看,但似乎不起作用。它只匹配整个字符串。

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

有没有一种方法可以让我只匹配数字,然后再发出%?

字符串后面的匹配数字

为此需要一个后备,而此(?=encodeTime=)不是有效的正后备。

(?<=encodeTime=)'d+

演示

对于这样简单的东西,您不需要任何类型的环视断言。使用捕获组并使用匹配Groups属性以引用组并打印匹配结果。

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