2012-10-11 3 views
0

제공된 문자열에 중간 3 문자가 포함되어 있는지 확인해야하는 문제가 있습니다.중간 3 문자를 검사하는 정규식

예 : 우리는 항상 "abc"와 같이 비교하고 싶은 중간 3자를 9 자 문자열로 얻을 것입니다. 조건이 일치하면 일부 논리를 적용하려고합니다. 아무도 날 위해 예제를 줄 수 있습니까?

+3

당신의 경우에는 서브 스트링 사운드가보다 직선적입니다. – assylias

+0

문자열 길이가 고정되어 있습니까? 부분 문자열이 중간에있는 것이 중요합니까? – JustinKSU

+0

... abc ... 예 : – Eduardo

답변

4

것 같아요 이게 니가 원하는거야

,210
+0

감사합니다. Anirudha, 이것은 내가 찾고있는 것입니다. – user509755

+0

이 확장은 쉘 스크립트에 유효합니다. 내가 "[$ 1"== ^. {3} abc. {3} $] 인 경우 이걸 시도하면 – user509755

+0

; then \t echo "조건이 일치했습니다!" 다른 \t 반향이 위의 스크립트는 항상 내가 "pppabc001" – user509755

0

그것은 아마도 사용하는 것이 더 의미가 사전에

덕분에 substringequals : 당신이 정말로 정규식을 원하는 경우

if(s.substring(3, 6).equals("abc")) 
    // ... 

, 당신은 쓸 수 있습니다 :

if(Pattern.compile("...abc...", Pattern.DOTALL).matcher(s).matches()) 
    // ... 
1

^.*abc.*$

또한 단지 가운데 세 개의 문자와 일치하는, 같은 ^.{3}abc.{3}$ 뭔가를 사용할 수 있습니다.

0
int mid = (test.length()/2); 
string = string.substring(mid-1, mid+2); 
if (string.equals("abc")) 
{ 
    do stuff 
} 

다음은 중간 문자열 3 개를 얻기 위해 부분 문자열을 사용하는 예입니다. 오류를 방지하기 위해 문자열의 길이가 3 자 미만인 경우에 대비하여 검사를 추가 할 수 있습니다. abc를 확인하려는 내용으로 변경하십시오.

관련 문제