在具有特殊模式C#的字符串中查找字符串

Afr*_*fra 0 c# regex string

我在C#中有一个长字符串,我需要找到如下所示的子字符串:

number.number:number
Run Code Online (Sandbox Code Playgroud)

例如这个字符串:

text text
965.435:001 text text sample
7854.66:006 text text
Run Code Online (Sandbox Code Playgroud)

我想以某种方式找到并将965.435:001和7854.66:006保存到字符串中.

Tim*_*ker 7

  • \d 意思是"数字"
  • + 意思是"一个或多个"
  • \.表示字面点(.单独表示"任何字符")
  • \b 表示"单词边界"(字母数字"单词"的开头或结尾).

所以,你的正则表达式会是

\b\d+\.\d+:\d+\b
Run Code Online (Sandbox Code Playgroud)

在C#中:

MatchCollection allMatchResults = null;
Regex regexObj = new Regex(@"\b\d+\.\d+:\d+\b");
allMatchResults = regexObj.Matches(subjectString);
if (allMatchResults.Count > 0) {
    // Access individual matches using allMatchResults.Item[]
} else {
    // Match attempt failed
}
Run Code Online (Sandbox Code Playgroud)