我正在使用 C# 和 .NET,我有一个看起来像这样的正则表达式
"\D"
这匹配所有非数字字符,但我不希望它匹配小数点 (.) 和负号 (-)。我怎样才能用正则表达式做到这一点?
所以我尝试了 Chris' 并对其进行了一些调整以使其工作:
(我有一个名称为“原始”的文本框)
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;
是因为每当它被替换时,它都会将选择放在开头,这对用户来说似乎有点奇怪......