일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 자료구조
- 인터페이스
- @NoArgsConstructor
- 리스트
- 연결 리스트
- 내부 정렬
- java
- 쿼리메소드
- 배열
- mysql
- 쿠키
- WebClient
- 코드
- 계산 검색 방식
- @RequiredArgsConstructor
- 빅 오 표기법
- query
- code
- 트리
- 클린
- 스택 큐 차이
- JsonNode
- CleanCode
- 마크다운 테이블
- 클래스
- 선형 리스트
- 클린코드
- 정렬
- @ComponentScan
- 마크다운
- Today
- Total
Developer Cafe
정규표현식 본문
역사
1950년 미국의 수학자 Stephen에 의해 개발되어, 초기엔 유닉스 계열에서 이용되어지다 현재는 java, python, js등에서 사용되고 있다.
패턴
// 안에 찾고자하는 텍스트를 넣고 뒷 / 뒤에 패턴을 입력한다
문법
ex) /gr(e|a)y/ 또는 /gr[ea]y/ ----------> grey, gray 가 찾아짐
ex) /gr(?:e|a)y/ 은 grey, gray 을 찾되 기억하지는 않는다 라는 뜻이다
ex) /gr[a-zA-B0-5]y/ 라는 뜻은 gray ~ grzy 까지 찾고 grAy ~ grBy까지 찾고 gr0y ~ gr5y 까지 찾는다
※ 위의 /gr[a-zA-B0-5]y/의 반대는 /^gr[a-zA-B0-5]y/ 이다
ex) /gra?y/의 뜻은 a가 없거나 있거나 라는 뜻이된다 그러므로 gray, gry를 찾아낸다.
ex) /gra*y/의 뜻은 a가 없거나 있거나 많거나 라는 뜻이된다 그러므로 gray, gry, graay, graaaaaay .... 를 찾아낸다.
ex) /gra+y/의 뜻은 하나 또는 많이 라는 뜻으로 gray, gry, graay, graaaaaay .... 를 찾아낸다.
ex) /gra{2, 4}y/의 뜻은 a가 최소 2번 최대 4번 나오는걸 찾아낸다 라는뜻이된다. 그러므로 graay, graaay를 찾아낸다.
ex) Ya ya YAYAYA YA 라는 문장에 /\bYa/라고 입력하면 Ya ya YAYAYA YA 를 찾아낸다
ex) Ya ya YAYAYA YA 라는 문장에 /Ya\b/라고 입력하면 Ya ya YAYAYA YA 를 찾아낸다
ex) Ya ya YAYAYA YA 라는 문장에 /Ya\B/라고 입력하면 Ya ya YAYAYA YA 를 찾아낸다
ex) Ya ya YAYAYA YA 라는 문장에 /^Ya/라고 입력하면 Ya ya YAYAYA YA 를 찾아낸다
ex) Ya ya YAYAYA YA 라는 문장에 /Ya$/라고 입력하면 Ya ya YAYAYA YA 를 찾아낸다
ex) /\+/의 뜻은 특수문자 + 를 찾아낸다 특수문자를 찾을땐 \을 사용해야한다.
ex) /\d/의 뜻은 digit의 약자로 숫자를 전부 찾아낸다는 뜻이다
ex) /\D/의 뜻은 숫자 외의 모든것들을 전부 찾아낸다는 뜻이다
ex) /\w/의 뜻은 word의 약자로 문자를 전부 찾아낸다는 뜻이다
ex) /\W/의 뜻은 문자 외의 모든것들을 전부 찾아낸다는 뜻이다
ex) /\s/의 뜻은 space의 약자로 공백을 전부 찾아낸다는 뜻이다
ex) /\S/의 뜻은 공백 외의 모든것들을 전부 찾아낸다는 뜻이다
문1) 전화번호 010*111*1111 과 02-123-5555 그리고 051.333.5555를 찾아내는 정규식은?
/\d{2,3}[-*.]\d{3}[-*.]\d{4}/
문) 이메일 yk2c@gmail.com 과 asdk.4521@naver.com 그리고 51543@daum.net을 찾아내는 정규식은?
/[a-zA-Z0-9._+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9.]+/
문) 링크 http://www.yju7257.tistory.com/-aaa 와 https://www.yjasdu7257.tistory.com/-bbb 그리고 http://ygdju7257.tistory.com/-ccc의 뒷부분의 아이디를 찾아내는 정규식은?
/(?:https?:\/\/)?(?:www\.)?tistory.com\/([a-zA-Z0-9-]{4})/
'개발자답게' 카테고리의 다른 글
REST API, SOAP API 차이 (0) | 2021.03.18 |
---|---|
동기 비동기 차이 (0) | 2021.03.17 |
프레임워크와 라이브러리 차이점 (0) | 2021.03.15 |
TTV(Time To View) vs TTI(Time To Interact) (0) | 2021.02.16 |
SPA, CSR, SSR, SSG (0) | 2021.02.16 |