2
나는 C# 및 .NET을 사용하고 있는데 내가 그러나 내가 원하는하지 않는 모든 숫자가 아닌 문자와 일치이정규식을 및 -.
"\D"
과 같은 정규식이 해당 소수점 (.)과 음수 부호 (-)를 일치시킵니다. 정규 표현식으로 어떻게 할 수 있습니까?
그래서 나는 크리스 시도 '와 그것을 작동하게하는 몇 가지 조정을 : (I는 "원본"의 이름을 가진 텍스트 상자를)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;
이 때마다 그것을 때문이다 사용자가 조금 더 이상하게 보일 것입니다.
사실 그 위치에서'-'를 벗어날 필요가 없습니다.'[^ \ d \ .-] '도 완벽하게 사용할 수 있습니다. – mousio
@mousio : 예! 좋은 점은, 나는 항상 그 일에 조심 스럽다. 어리석은 미신, 나는 생각한다. –
도트를 이스케이프 할 필요가 없습니다. 괄호 문자 클래스는 정규식의 나머지 부분과 (거의) 완전한 구문을 가지고 있다는 것을 기억하십시오. '[^ \ d .-]'는 실제로 작동 할 것입니다. 즉, HYPHEN-MINUS를 탈출 한 사람들을 비난하는 것은 어려운 일입니다. 왜냐하면 HYPHEN-MINUS와 탈의자는 정상적인 마법을 없애기 위해 탈출 할 필요가 있는지에 대해 민감하기 때문입니다. – tchrist