정규 표현식 (Regular expression) 정리

정규 표현식에 대한 정리를 할 생각입니다. 


웹에서 자바스크립트를 이용해서 정규 표현식을 사용할 때가 종종 발생합니다.


예를 들어 회원가입에서 아이디의 첫글자는 반드시 영문으로 시작되어야 한다 거나 


대상의 아이디에는 특수문자가 들어갈 수 없다거나 하는 식으로 제한을 걸때 사용할 수 있습니다. 



정규 표현식이란?


 정규 표현식 (Regular expression 또는 regex , regexp) 또는 정규식 은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어.

  정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색치환을 위해 지원되고 있습니다. 



정규 표현방법

메타문자기능설명
.문자1개의 문자와 일치한다. 단일행 모드에서는 새줄 문자를 제외한다.
[ ]문자 클래스"["과 "]" 사이의 문자 중 하나를 선택한다. "¦"를 여러 개 쓴 것과 같은 의미이다. 예를 들면 [abc]d는 ad, bd, cd를 뜻한다. 또한, "-" 기호와 함께 쓰면 범위를 지정할 수 있다. "[a-z]"는 a부터 z까지 중 하나, "[1-9]"는 1부터 9까지 중의 하나를 의미한다.
[^ ]부정문자 클래스 안의 문자를 제외한 나머지를 선택한다. 예를 들면 [^abc]d는 ad, bd, cd는 포함하지 않고 ed, fd 등을 포함한다. [^a-z]는 알파벳 소문자로 시작하지 않는 모든 문자를 의미한다.
^처음문자열이나 행의 처음을 의미한다.
$문자열이나 행의 끝을 의미한다.
( )하위식여러 식을 하나로 묶을 수 있다. "abc¦adc"와 "a(b¦d)c"는 같은 의미를 가진다.
\n일치하는 n번째 패턴일치하는 패턴들 중 n번째를 선택하며, 여기에서 n은 1에서 9 중 하나가 올 수 있다.
*0회 이상0개 이상의 문자를 포함한다. "a*b"는 "b", "ab", "aab", "aaab"를 포함한다.
{m, n}m회 이상 n회 이하

"a{1,3}b"는 "ab", "aab", "aaab"를 포함하지만, "b"나 "aaaab"는 포함하지 않는다.




흠.. 새벽시간에 공부할 겸 왔다가 .. 내일 출근을 해야한다는게... 걸려서 잠이나 자려고 합니다.


다음에는 자바스크립트에서 사용하는 정규식을 작성해볼 예정입니다.






참조 : 위키백과 : https://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D



댓글

Designed by JB FACTORY