我正在将下面的掩码设置应用于Devexpress TextEdit控件,但在执行时请给我语法错误。
textEdit1.Properties.Mask.MaskType = DevExpress.XtraEditors.Mask.MaskType.RegEx;
textEdit1.Properties.Mask.EditMask = "(100(?:\\.0{1,3})?|0*?\\.\\d{1,3}|\\d{1,2}(?:\\.\\d{1,3})?)%";使用这个正则表达式的概念是从0到100%输入值,并选择3小数点。
与25, 25.5, 60, 60.369, 99 but 101, 10.2569一样,它也是无效值。
请指导我如何纠正这个表达式。
发布于 2013-04-23 08:44:36
尝试以下操作(我在这里无法访问devexpress,因此无法完全测试):
(100(\R.0{1,3})?)|((\d{1,2}(\R.\d{1,3})?))它是两个交替的部分,用“\”分隔,第一部分检查100,最多三个小数点(100,100.0,100.00,100.000)。
第二部分讨论小数点前的一位或两位数字,以及小数之后的可选小数和最多三位数(25,25.5,60,60.369,99)。
System.Globalization.NumberFormatInfo.NumberDecimalSeparator实际上与当前区域性的\R.属性指定的十进制分隔符匹配。根据文件。如果您只想取小数,则可以将\R.更改为\.
https://stackoverflow.com/questions/16164250
复制相似问题