我正在寻找一个可以匹配字符串中的整数、小数和分数的正则表达式:
这里有些例子
11.325 x 55.65
11x13
11”x13”
11” x 13”
11 3/8 x 15 7/8
11 3/8” x 15 7/8“
Run Code Online (Sandbox Code Playgroud)
上面例子的解释:
到目前为止,我已经想出了可以匹配任何数值(即整数和小数)的代码,但我仍然坚持使用分数。
Dim matches = Regex.Matches(curCellVal + "", "[\d.]+")
Run Code Online (Sandbox Code Playgroud)
上面的代码给了我 6 个匹配项11 3/8” x 15 7/8“,我需要它给我 2 个。
我不擅长正则表达式,所以任何帮助将不胜感激。
我的首选语言是 VB.net。
试一试:
(\d+[\/\d. ]*|\d)
Run Code Online (Sandbox Code Playgroud)
将来,我建议让您的问题更清楚,这样我们才能真正了解您要做什么——提供输入、预期输出并包括您正在使用的编程语言。
vb.net 是 PCRE 兼容的,所以你应该可以使用这个:
Dim regex As Regex = New Regex("(\d+[\/\d. ]*|\d)")
Dim match As Match = regex.Match("11.325 x 55.65")
If match.Success Then
Console.WriteLine(match.Value)
# this matches, so you'll get a value
End If
Run Code Online (Sandbox Code Playgroud)