2012-02-23 2 views
0

저는 정규 표현식에 매우 좋지 않으므로 여러분과 친구들이 나를 도울 수있을 것입니다. 나는 str이라는 문자열을 가지고 있고 그것이 다음과 같은 형태인지 확인하고자한다. 그것은 아무것도 아니거나 하나의 숫자 (임의의 숫자가 될 수있다)이거나 어떤 숫자의 숫자 (각 숫자가 될 수 있는가)이다. 단일 숫자의 경우와 같이 모든 자릿수) ~ 문자로 구분됩니다.Regex (Java) - 특정 패턴 문자열을 공식화하는 데 도움이 필요합니다.

예를 들어, str이 다음 중 하나 였으면 올바른 양식 (예 : "0", "123", "13 55", "123 4 ~ 121" 1 ~ 23 ~ 43 ~ 4 "입니다.

str이 유효하면 일치하는 정규식 패턴 문자열을 정확히 작성하는 방법은 무엇입니까?

답변

3

올바른도 수 :

^(\d+(~\d)*)*$ 

이전 조셉 실버 응답이의 차이는이 일이 ~ 문자로 완료 한 줄을 허용하지 않는다는 것입니다.

+0

그럴거야. 감사! – Tim

7

은 간단 할 수 없습니다 :

^(\d+~?)*$ 

행동에 여기를 참조하십시오 http://regexr.com?3041l

+2

와우 너의 것이 내 것보다 훨씬 낫다! –

+1

@Joseph : 가깝지만 ~로 끝나는 것을 막지는 않습니다. 그래도 고마워. – Tim

0

이를?

^([0-9]+|(([0-9]+~)*[0-9]+))?$ 
관련 문제