2012-05-22 5 views

답변

20

사용이 : [^x0-9]

당신이 http://gskinner.com/RegExr/

+0

대문자 x도 지정하는 것을 잊었으므로 괜찮을까요 [^ xX0-9]? Nurlan에게 감사드립니다. –

0

을 확인 할 수 있습니다 내가 알아 낸는, 어쩌면하지만 그것을 할 수있는 더 좋은 방법이있다.

number.replaceAll("[^\\d+xX]", ""); 
+0

"[^ \ d dxX]"는 이중 슬래시로 읽어야합니다. –

+1

@ 조지 - 왜 플러스 기호를 사용합니까? plusses가 건너 뛰게하지 않을까요? – jahroy

0

이를 사용해야합니다

number.replaceAll("[\\D&&[^x]]", "") 
7

귀하의 정규식

number.replaceAll("[^\\dxX]+", ""); 

문자 클래스 내에서 일반 문자를 이스케이프 할 필요가 없습니다. 또한 문자 클래스 다음에 수량 한정자 +을 추가하면 해당 문자의 시퀀스가 ​​즉시 교체되고 각 문자는 자동으로 교체되지 않습니다.

Xisb에 대한 몇 가지 정규식 기본 읽기 : 모든 것은 당신의 정규식에 문제가 있습니다 What absolutely every Programmer should know about regular expressions

관련 문제