我正在寻找一种使用 C++ .NET 在正则表达式中使用模式分配变量的方法
就像是

String^ speed;
String^ size;

“命令速度=[速度]大小=[大小]”

现在我正在使用 IndexOf() 和 Substring() 但它很丑

最佳答案

String^ speed; String^ size;
Match m;
Regex theregex = new Regex (
  "SPEED=(?<speed>(.*?)) SIZE=(?<size>(.*?)) ",
  RegexOptions::ExplicitCapture);
m = theregex.Match (yourinputstring);
if (m.Success)
{
  if (m.Groups["speed"].Success)
    speed = m.Groups["speed"].Value;
  if (m.Groups["size"].Success)
    size = m.Groups["size"].Value;
}
else
  throw new FormatException ("Input options not recognized");

为语法错误道歉,我现在没有要测试的编译器。

关于.net - 使用正则表达式分配变量,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/98827/

10-13 02:36