gpt4 book ai didi

c# - 简单的 C# 正则表达式匹配问题

转载 作者:行者123 更新时间:2023-11-30 20:52:41 25 4
gpt4 key购买 nike

我在使用 RegEx 匹配从给定字符串中提取值时遇到问题,我正在使用的字符串如下。

533 x 1981mm, 35mm Thick - Non Fire Door: £33.14

我的 RegEx 是,如果字符串如下所示,它可以正常工作

533 x 1981mm, 35mm Thick: £33.14

^(?<first>\d+)\s*x\s*(?<second>\d+)mm,\s*(?<third>\d+)mm Thick: £(?<price>\d+\.\d+)$

我的问题是,如何更改 RegEx 以忽略最后一个“mm”和“£”符号之间的任何内容?

我的代码的作用是提取毫米测量值,将它们转换为英寸并将字符串返回给我的方法。其余代码如下。

var first = Int32.Parse(match.Groups["first"].Value);
var second = Int32.Parse(match.Groups["second"].Value);
var third = Int32.Parse(match.Groups["third"].Value);
var price = Decimal.Parse(match.Groups["price"].Value, CultureInfo.InvariantCulture);

谢谢大师们!

最佳答案

mm Thick: £ 替换为 mm.*?£

.*? 表示“匹配任何字符 (.) 任意次数,包括零 (*),尽可能少的次数尽可能 (?)"

关于c# - 简单的 C# 正则表达式匹配问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20701973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com