Developer Cafe

정규표현식 본문

개발자답게

정규표현식

개발자 카페 2021. 3. 4. 00:34
728x90

역사

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})/
728x90

'개발자답게' 카테고리의 다른 글

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
Comments