在此字符串输出中!re=.id=*2CB=name=xxname123=service=vpn=caller-id=
我只需要以*
开头的字符串,该字符串是以=
符号结尾的id的常量。我使用子字符串,但我注意到数字变为3位和4位以及更多。
我的代码不再起作用了。我正在试图制作一个只与.id=XXXX=
符号之间的=
字符串匹配的正则表达式。
答案 0 :(得分:2)
string input = " !re=.id=2CB=name=xxname123=service=vpn=caller-id=";
var id = Regex.Match(input, @"\.id=(.+?)=").Groups[1].Value;
答案 1 :(得分:2)
我不确定这是否符合您的需要,但您可以尝试:
var myString = "!re=.id=2CB=name=xxname123=service=vpn=caller-id=";
var match = new Regex(@"\.id=(?<value>[^=]*)=").Match(myString);
var id = match.Groups["value"].Value;
var myString = "!re=.id=2CB=name=xxname123=service=vpn=caller-id=";
var match = new Regex(@"\.id=(?<value>[^=]*)=").Match(myString);
var id = match.Groups["value"].Value;
我没有测试这个特定的语法,但是这应该只是获取捕获的字符串。如果需要跨多个项目进行迭代,可以修改它以迭代MatchCollection。
foreach(var match in new Regex(@"\.id=(?<value>[^=]*)=").Matches(myString)
{
var id = match.Groups["value"].Value; //Or do something else with the value
}