2013-01-04 272 views
1

我试过并试图研究这个,并尝试了很多表达式的迭代,但仍然看起来似乎没有正确。我放弃了,请别人帮忙。正则表达式6位数小数点后加1到4位数

我有一个文本框和文本框的变化我已经用正则表达式替换文本了 我需要文本框才允许\ d {6}后跟一个。然后\ d {1,4}

接受123456.1,123456.12,123456.123,123456.1234

不接受123.45612,aqwerty.12,123456..12

+4

您是否尝试过'\ d {6} \。\ d {1,4}'? “ – Blender

+0

@”[^ \ d {6} \。\ d {1,4}]“将过滤掉所有非数字或”。“,但不会强制模式6位小数1-4位。因为我可以键入“...........”或“12 ... 12312.131”。或“123456789” –

+0

@“^ \ d {6} \。\ d {1,4} $”,删除'[]' – Tilak

回答

4

你尝试过这种模式?也许你忘了逃跑.\

^\d{6}\.\d{1,4}$ 

enter image description here

+0

这仍然允许“...........”或“12 ...... 12312.131”。或“123456789” –

+0

不适合我,你的C#代码是什么?你在正则表达式字符串前面添加了@吗?如果不是,你应该,否则\将作为逃生。 – Matt

+0

private void textBox1_TextChanged(object sender,EventArgs e) {filteredtype = Regex.Replace(textBox1.Text,@“[^ \ d {6} \。\ d {1,4} $]”,“”){ ; textBox1.Text = filteredtext; } –

相关问题