【发布时间】:2011-08-10 16:01:46
【问题描述】:
我正在使用 C# 和 .NET,并且我有一个看起来像这样的正则表达式
"\D"
这匹配所有非数字字符,但我不希望它匹配小数点 (.) 和负号 (-)。如何使用正则表达式做到这一点?
所以我尝试了 Chris' 并对其进行了一些调整以使其正常工作:
(我有一个名为“Original”的文本框)
private void Original_TextChanged(object sender, EventArgs e) {
Regex regex = new Regex(@"[^\d.-]", RegexOptions.IgnoreCase);
Match match = regex.Match(Original.Text);
if (match.Success) {
Original.Text = regex.Replace(Original.Text, "");
Original.SelectionStart = Original.TextLength;
}
}
这个Original.SelectionStart = Original.TextLength; 是因为每当它被替换时,它会将选择放在开头,这对用户来说似乎有点奇怪......
【问题讨论】:
标签: c# .net regex numeric numerical