如何匹配以下字符串:常量字符串名稱,後跟一個句點,後跟任意正整數,後跟另一個點。快速幫助使用正則表達式C#
例如我想找到類似的東西:
SomeText.1。
SomeText.99。
SomeText.100。
SomeText.1002。
如何匹配以下字符串:常量字符串名稱,後跟一個句點,後跟任意正整數,後跟另一個點。快速幫助使用正則表達式C#
例如我想找到類似的東西:
SomeText.1。
SomeText.99。
SomeText.100。
SomeText.1002。
Regex.Match(input, @"SomeText\.\d+\.");
你的正則表達式看起來像SomeText\.\d+\.
其中,在C#代碼將
var result = Regex.Match(stringToMatch, @"SomeText\.\d+\.");
嘗試是這樣的:
^SomeText\.\d+\.$
講解:
^
表示行的開始,因爲$
表示行結束。這確保整個字符串匹配表達式,而不是匹配模式。
SomeText部分是不言自明的。
\.
表示「匹配一個」。 \要求避開該句點的含義,其本身意爲「任何單個字符」
\d+
表示「一個或多個數字」。
然後0123'再次,最後$
表示我們期望字符串結束。
如果你想能夠檢索次數,嘗試:
var exp = new Regex(@"SomeText\.(?<number>\d+)\.",RegexOptions.Compiled);
foreach(string s in allStrings)
{
var collection = exp.Match(s);
if (collection.Success)
{
int myNumber = int.parse(collection.Groups["number"].Value);
// ...
}
}