我想使用正则表达式匹配“Double、Double、Double、Double”字符串(用于检查 WPF 应用程序中 BorderThickness 的验证)我在 stackoverflow 上找到了许多类似的答案,但没有一个对我不起作用。我[0-9]{4},[0-9]{4}在这个页面上找到了,但它不起作用,因为我需要- + , .字符串中的字符。这是我的代码:private static readonly Regex _regex = new Regex("[0-9]{4},[0-9]{4}"); public static bool TextIsThickness(string text){ return !_regex.IsMatch(text);}示例输入字符串:-1.4,2.75,0,10注意:这不是重复的,我需要 4 个用逗号分隔的双数,与“双数范围验证的正则表达式”不同请告诉我我该怎么做?
3 回答
ABOUTYOU
TA贡献1812条经验 获得超5个赞
(([\+\-]\s?)?\d+(\.\d+)?,){3}([\+\-]\s?)?\d+(\.\d+)?
如果我理解正确,您想找到任何序列:它可能以也可能不以+ or -
运算符开头,在运算符之后可能有也可能没有空格(如果有的话)。然后是 1 个或多个数字的序列,后面可能有也可能没有文字.
,以及一个或多个数字。所有这4次。前三个都以文字结尾,
。
慕斯709654
TA贡献1840条经验 获得超5个赞
要回答您的问题,您可以使用以下 RegEx:
(?:[+-]?\d+\.?\d*,){3}(?:[+-]?\d+\.?\d*)
它将匹配:以一个或多个数字开头/不开头+
或-
后跟一个或多个数字的数字,一个可选的.
(点)后跟以,
(逗号)结尾的零个或多个数字。这重复了 3 次,第四次不以逗号结尾。这符合您的示例。
- 3 回答
- 0 关注
- 158 浏览
添加回答
举报
0/150
提交
取消