[英]Get value using regex from string KP{{seq:2}}
有關更多詳細信息,請參見下面的示例,
前任 :
Demo{{seq:2}}
字符串Demo19
(其中 2 是數字的長度),那么我應該得到輸出為19
Demo{{seq:3}}
Demo191
=> 輸出: 191
Demo19Test1
圖案的** Demo19Test{{seq:1}}
** =>輸出: 1
(基於序列)Demo19KPTest1Demo
of pattern** Demo19KPTest{{seq:1}}Demo
** => 輸出: 1
(基於序列)演示、測試、KP 只是字符串
就像下面的模式一樣簡單
(?<=KP)\d+\b
閱讀本文的方法
(?<=subpattern)
:零寬度正后視斷言。 僅當左側的子模式匹配時才繼續匹配。
\\d
:匹配任何十進制數字。
+
:匹配前一個元素一次或多次。
\\b
:減少回溯。
例子
var regex = new Regex(@"(?<=KP)\d+\b", RegexOptions.IgnoreCase);
var match = regex.Match(input);
if (match.Success)
{
Console.WriteLine(match.Value);
}
演示
如果我明白你想要什么,我認為這段代碼可以幫助你:
// This means you want to find `KP` followed by a fixed sequence of numbers
var pattern = @"KP(\d{" + seq + "})";
var result = Regex
.Matches(txt, pattern)
.OfType<Match>()
.Select(c => int.Parse(c.Groups[1].Value))
.ToList();
[ C# 演示 ]
或者
var result = Regex
.Matches(txt, @"KP(\d+)")
.OfType<Match>()
.ToList()[seq - 1]
.Groups[1].Value;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.