Regex c#的快速帮助
本文关键字:帮助 Regex | 更新日期: 2023-09-27 17:54:51
如何匹配以下字符串:一个常量字符串名称,后面跟着一个句号,后面跟着任意正整数,后面跟着另一个点。
例如,我想找到这样的内容:
SomeText.1。
SomeText.99。
SomeText.100。
SomeText.1002。
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+'.");