정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

정규식은 언어마다 조금씩 해석기가 다르다..

해석기가 다르니 규칙도 조금씩 다르다......

\s, \w 같은 예약어도 통일성이 없다..... 후후후후

그러니 꼭 사용할 언어 환경에서 테스트해야함!!!!!

매번 검색하기 귀찮아서 아예 포스팅으로 남긴다@_@

- 정규식 테스트 사이트의 본좌 RegExr

http://www.regexr.com/

- Ruby기반

http://rubular.com/

- Java기반

http://www.regexplanet.com/advanced/java/index.html

- 정규식의 시각화

http://www.regexper.com/

- 정규식 추천해주는 사이트 개이득ㅋ

http://txt2re.com/index.php3

정규식 테스트 사이트 중 가장 많이 사용되는 사이트 1

http://www.regexr.com

정규식 테스트 사이트 중 가장 많이 사용되는 사이트 2

https://regex101.com/

Ruby기반 정규식 테스트

http://rubular.com/

Java기반 정규식 테스트

http://www.regexplanet.com/advanced/java/index.html

정규식의 시각화

http://www.regexper.com

정규식 추천해주는 사이트

http://txt2re.com/index.php3

# regexp

/ 정규식 패턴 시작과 끝

^ 문자열의 시작, ^a  a로 시작하는

$ 문자열의 끝, a$ a로 끝나는

? 앞문자가 0번 또는 1번 발생 {0,1} 과 같다.

앞문자가 0번 이상 발생 {0,} 과 같다.

앞문자가 1번 이상 발생 {1,} 과 같다.

. 어떤 문자도 일치

| 선택, a|b 는 a 또는 b

() 하위식(subexpression), 괄호 안의 내용을 하나의 그룹으로, 그룹마다 왼쪽부터 $1 $2 ... $괄호개수 로 사용된다.

(?:) 그룹으로 처리되지 않도록 한다.
[] 안의 문자 한개 선택, a[bcd]a 는 aba aca ada 가 된다.

\특수문자 특수문자 자체

\0 null
\n 줄바꿈
\r 캐리지 리턴

\d 숫자

\D 숫자가 아닌

\s 공백

\S 공백이 아닌

\t 탭

\v 버티컬 탭

\w 워드 [A-Za-z0-9_] 와 같다.
\W 워드가 아닌 [^A-Za-z0-9_] 와 같다.

\< 단어의 시작

\> 단어의 끝

[a-z] a부터z 중 문자 하나

[^ab] a 와 b를 제외한 문자 하나
a{2} a 가 2번 반복

a{1,5} a 가 1번 이상 5번 이하 반복

a{1,} a 가 1번 이상 반복

# /패턴/ 뒤에 명시

g 전체대상

i 대소문자 무시

m 멀티라인

x 공백문자 무시

# matched text
$1 $2 ... $n 으로 정규식과 일치하는 n 개의 값을 지칭한다.

# nginx flag
~ 는 case-sensitive(대소문자 구별) 정규식
~* 는 case-insensitive(대소문자 구별안함) 정규식
@ 는 location 블럭이름 정의

# glob 표현(패턴) 정규식은 아니고, 유닉스에서 파일 집합을 표현하는데 쓰인다.

* 는 어떤 문자든 0번 이상  매칭
? 는 어떤 문자든 1번 매칭

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

정규식을 작성할때 항상 내가 쓴 규칙이 맞는지 안맞는지 긴가민가 할 때가 있다.

여러 예제 텍스트들을 미리 나열해놓고 정규식 패턴에 검색이 되는지 실시간으로 보여주면서 정규식을 작성하면 보다 정확하고 효율적으로 작성이 가능 할 것이다.

이처럼 정규표현식을 바로바로 테스트를 하면서 작성하기 좋은 여러 웹사이트을 한번 소개 해본다.


Regexr 사이트

가장 유명한 정규식 테스트 사이트가 아닐까 싶다. 깔끔한 UI로 인기가 가장 많다.

RegExr: Learn, Build, & Test RegEx

RegExr is an online tool to learn, build, & test Regular Expressions (RegEx / RegExp).

regexr.com

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

Regexr 사용법

A-Z로 시작하는 문자 검색하는 정규표현식으로 전체문장에서 하이라이트로 표기해주고, 정규표현식 작성시 도움이 되는 문법도 왼쪽에 표기된다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

정규식에 커서를 올리면 짧게 문법 의미를 볼수 있다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

예제 Text란에도 커서를 올리면 매치 정보(인덱스 범위, 그룹 등)를 보여준다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

사이드 메뉴 사용법

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
  • Pattern Settings : 우측에서 사용한 정규식 예제를 저장할수 있다. (로그인 필요)
  • MyPatterns : 내 계정에 저장한 정규식을 사용할수있다. 일종의 즐겨찾기 개념
  • Cheatsheet : 자주 사용하는 정규식 메뉴
  • RegEx Reference : 정규식 기호를 메뉴로 선택해 사이드바 하단에 예제를 보여주어 사용법을 알려준다.
  • Community Patterns : 다른 사람이 직접 만든 정규식와 예제를 불러와서 테스트해볼 수 있다.

정규식 예제 검색

위에서 설명한 바와 같이, 좌측 사이드바에서 Community Patterns 메뉴에 들어가 원하는 정규식 타입 정보를 입력하면 예제를 얻을수 있다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

정규식 저장

사이트에 로그인하고 내가 사용한 정규식을 저장하여 나중에 사용할수도 있는 즐겨찾기 기능을 지원해준다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

자주 사용하는 정규식 가져오기

왼쪽 사이드 메뉴에서 Cheatsheet 섹션을 클릭하면 자주 쓰이는 자동완성 정규식을 사용할 수 있다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

regex101 사이트

위의 Refexer는 자바스크립트와 PHP 밖에 지원을 안하지만, 이 사이트는 보다 다양한 언어를 지원한다는 장점이 있다.

regex101: build, test, and debug regex

Regular expression tester with syntax highlighting, explanation, cheat sheet for PHP/PCRE, Python, GO, JavaScript, Java. Features a regex quiz & library.

regex101.com

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

Regexplant 사이트

이 사이트 역시 다양한 언어의 정규식을 지원한다. 보통 JAVA 정규표현식을 검사할때 많이 쓰이는 편이다.

다만 UI가 조금 사용자 친화적이지 않는다는 점이 흠이다.

RegexPlanet: online regular expression testing for Java

www.regexplanet.com

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

Regexplant (java) 사용법

1번란에 정규식을 입력하고, 2번란에 정규식을 테스트할 문자열을 입력한 뒤, Test 버튼을 클릭하면된다.

사용하는 것은 간단하나 해석하는 부분은 다른 언어의 정규식 사이트와는 다르다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

Regexper 사이트 (정규식을 그림으로 분석)

한 문자열로 쭉 이루어진 정규표현식은 가독성이 매우 안좋은데, 이를 그림(도식)으로 표현해서 쉽게 분석할수 있게 도와주는 사이트 이다.

처음에는 생소해서 오히려 그림의 의미를 알수가 없어 거부감이 들테지만, 익숙해지면 정말 가독성이 좋아지니 한번 시간이 있다면 도전해 보는걸 권장한다.

Regexper

regexper.com

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

만일 다음과 같이 긴 정규표현식이 있다면, 오히려 이런 정규식 도식을 이용하는 것이 해석에 더 좋을 것이다.

cosnt regex = /(((경기|강원|경상[가-힣]|전라[가-힣]|충청[가-힣]|제주[가-힣]+)도|(서울|인천|대전|대구|울산|광주|부산)([가-힣]+)?시)\s+([가-힣]+시|[가-힣]+구|[가-힣]+군)\s+([가-힣]+구)?)|(세종([가-힣]+)?시)/;
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

Rubular 사이트 (Ruby 기반 정규식)

루비 언어의 정규식 문법을 체크할수있다.

Rubular

Ruby-based regular expression editor/tester

rubular.com

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

정규표현식 샘플 모음 사이트

자주 사용하는 정규표현식 예제들이 모여있는 사이트이다. 

만일 이메일이나 전화번호를 체크하는 정규식 문법이 필요하다면, 검색창에 찾으려는 타입을 치고 검색하면 여러 정규식 예제들을 얻을 수 있다.

Regular Expression Library

Welcome to RegExLib.com, the Internet's first Regular Expression Library. Currently we have indexed 4149 expressions from 2818 contributors around the world. We hope you'll find this site useful and come back whenever you need help writing an expression, y

regexlib.com

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu
정규표현식 사이트 - jeong-gyupyohyeonsig saiteu

# 참고자료

https://www.nextree.co.kr/p4327/

이 글이 좋으셨다면 구독 & 좋아요

여러분의 구독과 좋아요는
저자에게 큰 힘이 됩니다.

정규표현식 사이트 - jeong-gyupyohyeonsig saiteu