문자열 : 올바른으로 검증 할 것 " 수 페이지 eter는 페이지 톱 전자에게 xpression를 잉 그의 리터가 말했다." 하지만 "Apple"또는 "APPLE"문자열 만 입력하면 올바른 것으로 확인되지 않습니다. 내가 여기서 무엇을 놓치고 있니?주어진 패턴의 전체 단어를 처리하는 방법은 무엇입니까?
"[Aa].*? p.*? p.*? l.*? e\\S*"
문자열 : 올바른으로 검증 할 것 " 수 페이지 eter는 페이지 톱 전자에게 xpression를 잉 그의 리터가 말했다." 하지만 "Apple"또는 "APPLE"문자열 만 입력하면 올바른 것으로 확인되지 않습니다. 내가 여기서 무엇을 놓치고 있니?주어진 패턴의 전체 단어를 처리하는 방법은 무엇입니까?
"[Aa].*? p.*? p.*? l.*? e\\S*"
대소 문자를 구분하지 않고 일치 시키려면 공백을 제거해야하며 대소 문자를 구분하지 않는 수정자를 켜야합니다. 이 Apple
또는 APPLE
"(?i)a.*?p.*?p.*?l.*?e\\S*"
코드와 일치 할 수 있도록 :
String s1 = "Abe peter said pan saw his lying expression";
String s2 = "Apple";
String s3 = "APPLE";
System.out.println(s1.matches("(?i)a.*?p.*?p.*?l.*?e\\S*"));
System.out.println(s2.matches("(?i)a.*?p.*?p.*?l.*?e\\S*"));
System.out.println(s3.matches("(?i)a.*?p.*?p.*?l.*?e\\S*"));
출력 :
true
true
true
'(? i)'가 무슨 뜻인지 물어볼 수 있습니까? – user827391012
'(? i)'대소 문자를 구별하지 않는 수정 자. 그것은 패턴의 문자를 대소 문자를 구분하지 않게합니다. 예를 들어, 패턴을''(? i) apple "'으로 지정하면, 이것은'apple','Apple','AppLE' 등의 case와 무관하게 일치 할 것입니다. –
감사합니다. 도움을 주셔서 감사합니다. – user827391012
[Aa] 다음의 모든 기호 앞에 공백이 있으므로 정규식은 "Apple"에서 작동하지 않습니다. "A p p l e"에서 작동합니다.
* 표시의 0 개 이상의 인스턴스와 일치합니다. (임의의 문자). 그것을 선택 사항으로 만들 필요가 없습니다. – kindasimple
@kindasimple은 선택 사항이 아니므로 '*'는 비 욕심 많은 일치를합니다. –
감사합니다. @AvinashRaj – kindasimple