我有一个字符串,实际上是一种格式,例如"m_{0}A1_{1}Tmp"
给定这样的格式字符串和数据我需要提取参数的值,即{0}
和{1}
按照上面的示例,如果数据是m_TomerA1_DbTmp
,我应该提取第一个参数是Tomer
,第二个参数是Db
很高兴听到我该怎么做?
我的直觉说我需要正则表达式......
答案 0 :(得分:1)
使用此正则表达式并检索第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_
字面意思(.*?)
捕获到第2组并且懒洋洋地匹配所有内容...... Tmp
字面意思theMatch.Groups[i].Value