regex
-
?- 0개 이거나 1개 이거나
010-8752-4037과01087524037을 모두 검출하고 싶다면010?8752?4037
-
Anchors
^&$
-^hello: 처음 만나는 hello
-hello$: 마지막에 만나는 hello -
.- all occurences
-
Character Classes
\w: 단어 문자. 구두점 같은 특수문자는 포함하지 않음. 응용하면[^\w]는 문자가 아닌 모든 문자를 얻을 수 있게 된다.\w{5}: 5개의 글자와 공백 하나\W단어가 아님(?) ==> 알파벳 &_\d: 숫자\D: not 숫자\s: 공백문자\S: not 공백문자
-
[]- optional occurences
[Hh]ello==> hello, Hello- 구간
[0-9][a-zA-Z]
- 반복 (수량자)
- 예를 들어 전화번호를 쿼리하는 정규표현식은 다음과 같이 작성할 수 있다.
010[-,. ]?[0-9][0-9][0-9][0-9][-,. ]?[0-9][0-9][0-9][0-9]- 하지만
[0-9]가 너무 자주 오는 것 같은데 =>{n}을 사용하여 반복을 줄일 수 있다. 010[-,. ]?[0-9]{4}[-,. ]?[0-9]{4}{3}3개{3,}3개 이상{1, 3}1~3개
- 부정
- 대괄호 안에 들어있는
^(caret)은 부정의 의미. [^a-zA-Z0-9]: 대괄호 안에 명시된 패턴을 제외한 나머지 문자열을 찾는다.
- 대괄호 안에 들어있는
-
서브그룹
(on|ues|rida):|를 기준으로 여러개를 묶는다.
-
flags : 정규표현식 맨 마지막에
/를 붙이고 뒤에 키워드를 붙임global- case
insensitive multilinesingle line
