【发布时间】:2014-01-29 21:47:52
【问题描述】:
我正在寻找一个可以匹配字符串中的整数、小数和分数的正则表达式:
这里有一些例子
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“
上面例子的解释:
- 两位小数
- 两个整数
- 带引号的两个整数表示英寸
- 同上,但有空格
- 两个整数后跟一个分数
- 与上述相同,在分数后加引号
到目前为止,我已经提出了可以匹配任何数值的代码,即整数和小数,但我被困在分数上。
Dim matches = Regex.Matches(curCellVal + "", "[\d.]+")
上面的代码给了我 6 个匹配 11 3/8” x 15 7/8“,我需要它给我 2 个。
我不擅长正则表达式,因此我们将不胜感激。
我的首选语言是 VB.net。
【问题讨论】:
-
我有一种模糊的印象,人们不会欣赏你的问题。没有显示任何努力,格式很多,不清楚你想获得什么。
-
我的建议:变得有能力。解决正则表达式问题的方法是非常仔细地描述您打算接受的“语言”——字符串集。与其写例子,不如写大量使用 OR 的英文描述。您想接受数字零,或任何非零数字后跟任意数量的数字,或任何数字后跟一个点,后跟一个或多个数字,或者...列出所有的情况.一旦你掌握了所有的情况,编写正则表达式就会容易得多。
-
Here you go 为你所经历的所有痛苦 :)
-
@boruchsiper 如何尝试根据您的特定情况调整您迄今为止获得的信息。我们不是来为您工作的。
-
@boruchsiper 你为什么不测试一下?它应该工作。我还在regexhero 上对其进行了测试,但由于我需要一个帐户来分享链接,所以我刚刚提供了另一个在线测试器。