static compile("정규식 패턴") : Pattern 객체 생성
static compile("정규식 패턴", 플래그)
Matcher matcher(CharSequence str) : 패턴을 체크
예시) find()
패턴에 일치 여부 체크_true, false

예시) group()
패턴에 일치하는 문자열 추출

예시) matches()
패턴의 일치여부 체크(정확하게 맞아야함)





[][]안에 문자가 한개라도 있는지

[] 활용하기


ㄴ 대문자는 설정안해줘서 매치 못함

ㄴ 대문자알파벳도 범위로 넣어줌

ㄴ 알파벳 대소문자 상관없이
^ : 부정문자클래스
\d, \D\d : 모든 숫자[0-9]와 같음
자바는 \\를 두번 입력해야 \으로 인식
\D : 숫자를 제외한 모든 문자 한개 [^0-9]와 같음
\w, \W\w = [a-zA-Z0-9] 임의의 영어 단어 문자(알파벳, 숫자, 언더스코어) 한개
\W = [^a-zA-Z0-9]
\s, \S\s : 공백문자 1개
\S : 공백문자가 아닌 문자

패턴+ : 패턴을 1번 이상 반복 = 패턴{1,} // 최대매치
패턴* : 패턴의 0번 이상 반복 = 패턴{0,} // 최소 매치
패턴? : 패턴이 있어도 되고 없어도 되는 패턴 = 패턴{0,1}
^^ :
문자 클래스 안에[^...] : 부정문자 클래스 [^0-9] : 숫자가 아닌 문자
문자클래스 밖에 -> 시작하는 패턴 ^java -> java로 시작하는 패턴

Pattern.MULTILINE; 여러줄에 걸쳐 패턴 체크

-> java로 끝나는 패턴
\b, \B\b : 문자 클래스 -> 백스페이스키
문자 클래스 외부 -> 단어와 단어 사이 공백
\B : 단어 와 단어 사이 공백이 없는 패턴


.. : 줄 바꿈 문자를 제외한 문자 한개

패턴 {반복횟수}
ex) [0-9]{4} : 숫자 4개 \d{4}

패턴 {반복횟수,} : 패턴의 반복횟수 이상
ex) \d{4,} -> 숫자 4개 이상

패턴 {시작횟수, 종료횟수}
ex) \d{4,5} -> 숫자 4개 이상 5개 이하

예시) 자바는 안됨 다른 언어에서 되는 예시
패턴 {,종료횟수} : 패턴을 종료 횟수 이하로 반복
ex) \d{,4} -> 숫자 4개 이하

예시) 핸드폰 번호






ㄴ 010-1234-1234이든 010.1234.1234이든간에 번호형식이 달라도 번호로 인식하게끔
단어1|단어2|단어3 : 단어1, 단어2, 단어3 중 하나라도 있으면 되는 패턴



전방탐색 (?=패턴) -> 패턴 앞의 있는 패턴
ex) \w*(?=:) : 문자 앞에 있는 단어 여러개 패턴
전방 부정 탐색 (?!=패턴)
ex) \w*(?!=:) : 문자가 아닌 앞에 있는 패턴


예시)

indexof
lastIndexOf

isBlank
inEmpty




특정 문자열을 횟수만큼 반복
strip
stripLeading
stripTrailing

substring(int beginIndex)

ㄴ 음수로 접근하는것은 자바에선 안되고 파이선에선 가능
substring(int beginIndex, )

toLowerCase
toUpperCase
참고)
Locale : 지역화
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Locale.html
참고) 자바문서
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html
/패턴/ -> 정규표현식 객체
플래그
<a class="..." href="..."...>
<A CLASS="..." href="..."...>
자바문서
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Pattern.html
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/regex/Matcher.html
자바문서
문서 내 constructors항목이 없으면 직접 객체 생성x
-> 그럼 어떻게 객체를 만들지?
-> 반환값이 현재 클래스와 동일하다 애가 객체를 생성 해 준다 + 보통 static이다