用于捕获数字字段的正则表达式
本文关键字:正则表达式 字段 数字 用于 | 更新日期: 2023-09-27 18:36:52
我正在寻找一个正则表达式,我可以在其中提取符合条件的字符串的一部分。
字符串查找"长度为 32.00 毫米"。
我希望能够获得"32.00"。基本上是"mm"之前的第一个数值。以一种 Burte Force 的方式,它可以像这样完成:
string test = "The length is 32.00 mm";
int idx = test.IndexOf(" mm ") - 1;
int endIdx = idx;
while (idx > 0)
{
Char c = test.ElementAt(idx);
if (Char.IsDigit(c) == false && c != '.')
{
string data = test.Substring(idx + 1, endIdx - idx + 1);
break;
}
idx--;
}
你有更好的逻辑吗?
我可以按空格拆分字符串,并在"mm"插槽之前拾取条目。
谢谢
好吧,您可以使用正则表达式进行积极的展望
's['d.]+(?='s+mm)
喜欢这个
string test = "The length is 32.00 mm";
Console.WriteLine(Regex.Match(test, @"'s['d.]+(?='s+mm)").Value);
演示