从格式字符串中提取参数值

本文关键字:参数 提取 格式 字符串 | 更新日期: 2023-09-27 18:11:56

我有一个字符串,它实际上是一个格式,例如"m_{0}A1_{1}Tmp"给定这样的格式字符串和数据,我需要提取参数的值,即{0}{1}按照上面的例子,如果数据是m_TomerA1_DbTmp,我应该提取出第一个参数是Tomer,第二个参数是Db我会很高兴知道我该怎么做?我的直觉告诉我这里需要正则表达式

从格式字符串中提取参数值

使用此正则表达式检索组1和组2匹配:

m_(.*?)A1_(.*?)Tmp

在演示中,查看右边捕获的组。

在c#:

var myRegex = new Regex("m_(.*?)A1_(.*?)Tmp");
Match theMatch = myRegex.Match(yourString);
String token1 = theMatch.Groups[1].Value;
String token2 = theMatch.Groups[2].Value;

  • m_匹配文字字符
  • (.*?)捕获到组1,并惰性匹配到…
  • A1_ literal
  • (.*?)捕获到组2并惰性匹配到…
  • Tmp literal
  • 组i用theMatch.Groups[i].Value
  • 检索