【问题标题】:Read Alphanumeric with REGEX - C#使用 REGEX 读取字母数字 - C#
【发布时间】:2017-02-13 22:28:03
【问题描述】:

我有这段代码,它可以用正则表达式(从 XML 文件)读取数字,但我想读取一个字母数字字符串,并将值作为数字:

string c1 = File.ReadAllText("C://XMLS/128839_SAG101208EJ4_10006_16_13-01-2017.xml");

           // i get 163.23 from the xml " subTotal="163.23" "

            Regex rx = new Regex(@"(?<=subTotal="")[0-9]+\.[0-9]+(?="")");

            //Check if matches
            var res = rx.Match(c1);

            if (res.Success)
            {
                var res2 = res.ToString();
                MessageBox.Show(res2);
            }

这是我想要得到的字符串 >> UUID="a25101f7-65e7-49be-a8de-c8d7be8ec32d" 并且你可以看到它在字母之间也有“ - ”

谢谢

PS:我不想使用 XML 库,只是 REGEX

【问题讨论】:

  • .net 具有使用 xml 的内置功能。你不需要任何库
  • 是的,我知道,但我不想使用 cml 功能,只是正则表达式
  • 是否有充分的理由重新发明轮子?除了“我不想”
  • 是的,我已经遇到了内置 .net 的问题,因为 xml 的格式(我使用的)会根据情况(指节点)而改变,这就是我想要的正则表达式,只需阅读文件并找到该特定匹配项
  • 您可以使用 XPath 选择依赖于全局 xml 结构的特定节点/属性

标签: c# regex string alphanumeric


【解决方案1】:

如果你只想要 UUID,你可以使用这个模式:

[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 2023-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多