你们中的任何人都可以帮助我使用正则表达式来接受这些:
1112312.2312312
1.23123
1,231
1.2344
123.123
123123
Run Code Online (Sandbox Code Playgroud)
......但不是这些:
.1123
,2313
123.231.32
123..12
Run Code Online (Sandbox Code Playgroud) 我正在寻找一种很好的方法来检查用户为可选逗号的正确位置输入的数字.
例如
1,000,000.00 = correct
1000000 = correct
1,00,000.00 = incorrect
,100,000 = incorrect
Run Code Online (Sandbox Code Playgroud)
所以看起来我需要检查左边至少有一个数字和逗号右边有3个数字,还是有RegEx方式来做这个?
几乎一个月前我在这里问过一个非常类似的问题.
我正在努力理解正则表达式,但没有任何意义.SLak在这一问题解决的效果很好,但是当我尝试使用正则表达式助手在http://gskinner.com/RegExr/只的第一个逗号匹配-2.2,1.1-6.9,2.3-12.8,2.3时给出的正则表达式,|(?<!^|,)(?=-)
换句话说,我找不到一个甚至可以帮助我理解它的正则表达式工具.好吧,够抱怨了.现在我想重新写这个正则表达式,这样我可以做一个Regex.Split()将字符串分隔2.2 1.1-6.9,2.3-12.8 2.3成-2.2,1.1,-6.9,2.3,-12.8,和2.3.
上述问题的不同之处在于现在可以存在前导和/或尾随空格,并且空白可以像逗号一样充当分隔符.
我尝试使用\s|,|(?<!^|,)(?=-)但这不起作用.我尝试使用它来分割293.46701,72.238185,但C#只是告诉我"输入字符串的格式不正确".请注意,SO无法正确显示前导和尾随空格.
编辑:这是执行的代码,以及执行代码后的变量和值.

我正在寻找一个可以匹配字符串中的整数、小数和分数的正则表达式:
这里有些例子
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。