2012-03-16 4 views
-1

에서 정규식으로 문자열을 얻을 :내가 다음 문자열과 일치하는 정규식이 필요합니다 자바

input    ---> output 
------------------------------ 
1*a12*asd*315  ---> a12 
113-a12-asd*315  ---> a12 
+1-a12-asd-315  ---> a12 
as3-a12-asd*315  ---> a12 
as3-a12-a   ---> a12 
a-a12-a    ---> a12 
a-a12-aas   ---> a12 
-a12-aas-asd  ---> a12 
*a12*aas*asd  ---> a12 
a*a12*aas*sd  ---> a12 

희망의 예는 충분합니다. 내가 시도한 것은 :

(^(?=.{1,3}$)-([a-zA-Z])-(?=.*)$) 

하지만 작동하지 않습니까? 무엇이 올바른 정규식이 될 것인가?


은 예제 내가 a12을 사용하고 있습니다. 그것은 무엇이든 될 수 있습니다. 나는 그 끈이 무엇인지 모르고, 그것을 추출 할 필요가있다.

답변

0

를 사용할 수 있습니다.

나는`a12`을 사용한 예는
0

대신 정규식 당신은 그 캐릭터가 있는지 여부를 알고

input.contains("a12"); 

를 사용할 수 있습니다. 원하는 값이 성공적인 경기 후 두 번째 캡처 그룹에있을 것입니다

([*-])([a-zA-Z\d]+)\1 

: 당신이 문자열을 원하는 경우

또는 그렇지 않으면 당신은 당신은 같은 표현을 사용할 수

input.copyValueOf({'a','1','2'}); 
+0

. 그것은 무엇이든 될 수 있습니다. –

+0

@mark는 해당 메소드 내에서 문자열 값을 전달합니다. –

+0

문자열이 무엇인지 알 수 없습니다. –

관련 문제