Regex c#的快速帮助

本文关键字:帮助 Regex | 更新日期: 2023-09-27 17:54:51

如何匹配以下字符串:一个常量字符串名称,后面跟着一个句号,后面跟着任意正整数,后面跟着另一个点。

例如,我想找到这样的内容:

SomeText.1。
SomeText.99。
SomeText.100。
SomeText.1002。

Regex c#的快速帮助

Regex.Match(input, @"SomeText'.'d+'.");

试试这样:

^SomeText'.'d+'.$

解释:

^表示行首,$表示行尾。这确保了整个字符串与表达式匹配,而不是其中的某些内容恰好与模式匹配。

SomeText部分不言自明。

'.表示"匹配单个。"。'需要转义句点的含义,该句点本身表示"任意单个字符"

'd+表示"一个或多个数字"。

然后是'.,最后是$,表示我们期望字符串结束的地方。

如果您希望能够检索号码,请尝试:

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);
        // ...
    }
}

你的正则表达式看起来像SomeText'.'d+'.

在c#代码中应该是

var result = Regex.Match(stringToMatch, @"SomeText'.'d+'.");