티스토리 뷰
반응형
해당 글에 좋은 내용이 많이 나와있어 저도 참고하기 위해 링크를 달았습니다 :)
정규 표현식 시작은 /로 시작하고 패턴, 플래그로 시작합니다.
Groups and Ranges
CHARACTER | 뜻 |
| | 또는 |
() | 그룹 |
[] | 문자셋, 괄호 안의 어떤 문자든 |
[^] | 부정문자셋, 괄호 안의 어떤 문자가 아닐 때 |
(?:) | 찾지만 기억하지 않음 |
/gr(?:e|a)y/
물음표를 넣었을 때에는 그룹이 지정되지 않음.(논 캡쳐링 그룹)
찾지만 기억하지 않을 때라는 표현이 좀 낯설지만 아래서 다시 설명
/gr(a|e|d)y/
/gr[aed]y/
동일
/[abcdef]/
/[a-f]/
동일
/[a-zA-Z0-9]/
위에 나열한 문자만
/[^a-zA-Z0-9]/
위에 나열한 문자를 제외하고
논캡쳐링그룹은 원하는 식을 찾는 조건으로 사용하지만 그 값을 직접 사용하지 않습니다.
Quantifiers
CHARACTER | 뜻 |
? | 있거나 없거나 (zero or one) |
* | 없거나 있거나 많거나 (zero or more) |
+ | 하나 또는 많이 (one or more) |
{n} | n번 반복 |
{min,} | 최소 |
{min, max} | 최소, 그리고 최대 |
* 사실 이 내용을 제일 많이 사용할것 같습니다. ㅎㅎ
/tes?t/ -> test, tet
? : 해당 문자열이 있거나 없는 경우 사용합니다.
/tes*t/ -> test, tet, tesst···
* : 해당 문자열이 있거나 없거나 여러개 존재하는 경우에 사용합니다.
/tes+t/ -> test, tesst···
+ : 해당 문자열이 1개 이상 존재할 때 사용합니다.
/tes{2}t/ -> tesst
{2} : 해당 문자열의 개수를 의미하는 숫자를 괄호안에 넣어줍니다.
/tes{2,}t/ -> tesst, tessst, tesssst ...
{2,} : 해당 문자열이 최소 2개 이상일 때 사용합니다.
/tes{2,3}t/ -> tesst, tessst
{2,3} : 해당 문자열이 최소 2개 이상 3개 이하일 때 사용합니다.
Boundary-type
CHARACTER | 뜻 |
\b | 단어 경계 |
\B | 단어 경계가 아님 |
^ | 문장의 시작 |
$ | 문장의 끝 |
/\bYa/ -> Ya
\b : 단어 앞에서 쓰이는 Ya(띄어쓰기 다음, 줄바꿈 다음)
/Ya\b/ -> Ya
\b : 단어 뒤에서 쓰이는 Ya(띄어쓰기 앞, 줄바꿈 앞)
/\BYa/ -> Ya
\B : 단어 앞에서 쓰이지 않는 Ya(단어 중간, 단어 뒤)
/Ya\B/ -> Ya
\B : 단어 뒤에서 쓰이지 않는 Ya(단어 앞, 단어 중간)
/^Ya/ -> Ya123123
^ : 문장 앞에서 시작하는 Ya (줄바꿈 뒤)
/Ya$/ -> 123123Ya
$ : 문장의 뒤에 오는 Ya (줄바꿈 앞)
* flag 설정을 m(multi line)으로 하지 않으면 텍스트 전체의 시작과 끝을 의미함
전화번호
\d{2,3}[- .]\d{3}[- .]\d{4}/g
이메일
~~[\w.]+@[.\w]+~~
/[a-zA-Z0-9._+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]/
홈페이지 링크
/(?:https?:\/\/)?(?:www\.)?(?:naver\.com\/)([a-zA-Z0-9-_]{11})/g
출처: https://songsong.dev/entry/정규표현식-공부하기 [송송은 오늘도 열심히 코딩 하네]
반응형
'Study' 카테고리의 다른 글
IntelliJ에서 Bash 와 같은 쉘 스크립트 체크하기 (0) | 2022.04.26 |
---|---|
스티브 잡스가 지켰던 '회의 - 3가지 원칙' (0) | 2022.04.23 |
물건 정리를 잘하는 사람과 일 잘하는 사람의 상관관계 (0) | 2022.04.22 |
외부 API 를 사용하다가 실패가 났을 때 대처 방법 (0) | 2022.04.11 |
코로나 자가키트 사용 방법과 확진 그리고 열흘 후.. (0) | 2022.03.05 |
코로나 격리 해제 후 생활지원금 신청 후기 (0) | 2022.03.03 |
댓글
공지사항