【问题标题】:Regex pattern for string字符串的正则表达式模式
【发布时间】:2018-04-18 10:14:55
【问题描述】:

我正在尝试从文本文件中获取特定信息。我的字符串如下所示:

1.001
{
position = (0,0,0);
rotation = (0.0, 0.0, 0.0, 1.0);
}

1.002
{
rotation = (0.0, 0.0, 0.0, 1.0);
}

2.001
{
spawnOnStart = False;
}

我需要的是数字、属性名称(位置、旋转等)及其值((0,0,0) 等) 我试图在https://regex101.com 上开发部分正则表达式模式,但没有成功。 我的模式现在看起来像这样:(\d{1}\.\d{3})\n\{\n(.*?\;\n)+\} 假设用数字+括号匹配每个组以及其中的内容。它在 regex101 上运行良好,但在代码中它根本没有。 任何专业的正则表达式用户都可以告诉我它有什么问题并引导我走上正确的道路吗? 干杯

【问题讨论】:

  • 您使用了错误的正则表达式测试器,regex101 不支持 .NET。 Your pattern captures all the information you need. 请参阅 表格 选项卡,$2 列。
  • 您也可以使用更精确的(?m)^(\d\.\d{3})\r?\n\{\r?\n(?:(.*);\r?\n)+},但您必须使用代码收集第 2 组捕获集合

标签: c# regex string unity3d


【解决方案1】:

您可以使用此regex for c# 网站寻求帮助。 你也犯了这个错误:

    Match match = Regex.Match(input, @"content/([A-Za-z0-9\-]+)\.aspx$",
        RegexOptions.IgnoreCase);

    // Here we check the Match instance.
    if (match.Success)
    {
        // Finally, we get the Group value and display it.
        string key = match.Groups[1].Value;
        Console.WriteLine(key);
    }

组值是您需要阅读的部分。每个组索引一个一个地计数。

在 regex101 中选择 python 并仅使用此链接中的信息。

【讨论】:

  • 值得一提的是groups索引从1开始,而不是0。
  • @Vifi 是的,我忘了。但是自己尝试也可以学习代码的基本逻辑。
  • @Vifi 如果有帮助,您应该投票并签名作为答案。
  • 感谢您的关心和尝试,但这篇文章实际上并没有帮助我;p 这就是我没有标记它的原因。对我的问题发表评论的人告诉我,我正在使用糟糕的网站为 .NET 构建模式,并且通过一些小的改动,我的模式确实有效。同样,您的链接也很有趣,我从他们那里学到了很多东西,所以再次感谢您!
猜你喜欢
  • 2015-11-28
  • 2019-11-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-15
  • 2015-07-03
  • 2019-11-12
相关资源
最近更新 更多