2009-03-26 6 views
0

다음 문자열은 어떻게 찾을 수 있습니까?정규 표현식 (Java)

http://localhost:8080/MenuTest/index.action 

"MenuTest"가 위 패턴에 포함되어 있으면 정규식이 true를 반환해야합니다.

건배

+0

Vinayak을,이 정규 표현식을 필요로하지 않는다 , 이것은 일반 바닐라 문자열 매칭을 필요로합니다. – karim79

답변

9

어쩌면 정규식이 필요하지 않을까요?

String url = "http://localhost:8080/MenuTest/index.action";  
boolean hasWhatImLookingFor = url.contains("MenuTest"); 
+0

변수에 소문자를 사용하십시오. String url = "http : // ....."; – OscarRyz

+0

@ 오스카 - 사실입니다. 결정된. – karim79

+1

@ karim : 이제 소문자 이름을 사용해야합니다! :) s/URL.contains/url.contains/그렇지 않으면 이전처럼 최악이 될 것입니다. BTW +1 "간단한"접근 대답 : – OscarRyz

0

이 줄에 뭔가가 있습니까? (테스트 안 함)

Regex r = new Regex("MenuTest"); 
r.search("http://localhost:8080/MenuTest/index.action"); 
System.out.println(""+r.didMatch()); 
+0

어? 정규식은 표준 Java API의 일부가 아닙니다.이 라이브러리는 타사 라이브러리입니까? – toolkit

+0

나는 깨닫지 못했지만 com.stevesoft.pat를 사용하고 있습니다. regex 패키지 (사용하는 표준 API의 일부가 아니므로이 패키지를 사용해야 함)는 문자열의 한 단어와 일치하는 아이디어가 동일합니다. – miccet

+5

java.util.regex는 약 7 년 동안 Java 라이브러리의 일부였습니다. 표준이 수행 할 타사 라이브러리가 필요 없습니다. –

0

당신이 찾는 정규 표현식은 따옴표없이 "MenuTest"입니다. 그 질문이 나타나는 것보다 더 복잡한 것이 아니라면? 당신이 "MenuTest는"특정 위치에 를 표시하는지 확인해야하는 경우

1

(즉, 호스트/포트 후), 다음 사용할 수 있습니다

^https?://[^/]++/MenuTest
+1

좋고 정확한 해결책 :) – patjbs