사이트 내 전체검색
정규식
최고관리자
https://cmd.kr/javascript/827 URL이 복사되었습니다.

본문

본 문서의 저작권은 anti-nhn license에 따릅니다.
*본 페이지에는 자바스크립트가 많이 들어있습니다. 자바스크립트가 실행되지 않으면 제대로 보이지 않습니다.
*본 페이지는 IE용 태그를 사용하였으므로, firefox 등에서는 정상작동하지 않을 수 있습니다.
*테스트를 해보실라문 요기를 클릭

차례

1. 정규식이란?

  • String의 검색,치환,추출을 위한 패턴.
  • 언어별 사용법은 대동소이함.
  • 패턴예>전화번호 형식, 이메일 형식 등.

2. 정규식 만들기

  1. Javascript
    • var regexp = /pattern/[flags] ;
      var test = regexp.test(to be checked)
    • var regexp = new RegExp("pattern"[, "flags"]);
      var test = regexp.test(to be checked)
    • flags for javascript
      • g : global match, 일반적으로 패턴이 1번만 발견되면 찾기를 종료하지만, g flag가 있으면, 문자열 내에서 모든 패턴을 찾는다.
      • i : ignore case, 대소문자를 고려하지 않고 체크한다.[a-z]와 [A-Z]는 같은 표현이 된다.
      • m : match over multiple lines, 여러 줄에 걸쳐 체크를 한다.
  2. Java
    • java.util.regex package
    • Pattern p = Pattern.compile("pattern");
      Matcher m = p.matcher("string to be checked");
      boolean b = m.matches();
    • boolean b = Pattern.matches("pattern", "string to be checked");

3. 정규식 표현법

*는 valid, 는 invalid
*두꺼운 글씨체는 매칭되는 부분.
*예제는 javascript 기준이며, 언어에 따라 다소 차이가 발생할 수 있다.
문자 용도 예제
\
  • 특수문자를 의미
  • 특수문자의 사용을 제외(특수문자 앞에서)
  • b는 b라는 글자를 의미 하지만 \b는 단어 경계를 의미
  • *은 0번이상 반복이라는 의미이지만, \*는 *이라는 글자를 의미.
^ 문자열의 시작. []안에서는 not의 의미
* ^A는 "A로 시작"이라기 보다는 "시작 직후에 A가 나온다"는 의미로 해석하는 것이 좋다. 즉, 시작과 끝과 같은 빈 공간을 하나의 문자로 간주하는 것이 좋다.
$ 문자열의 마지막
* 0번 이상 반복
+ 1번 이상 반복 ( = {1,} )
? 0번 이나 1번
. new line 을 제외한 모든 글자
(x) x를 체크하고 체크한 값을 변수로 저장
(?:x) x를 체크하고 체크한 값을 변수로 저장하지 않음
x|y x 또는 y
x(?=y) x후에 y가 나오고, x부분만 매칭되는 부분으로 간주
x(?!y) x가 나오고 그 뒤에 y가 있으면 안 됨
{n} 앞에 지정한 것이 n개
{n,} 앞에 지정한 것이 n개 이상
{n,m} 앞에 지정한 것이 n~m개
[xyz] x나 y나 z. []안에는 얼마든지 쓸 수 있다.
[x-z] x에서 z까지
[^xyz] x,y,z를 제외한 나머지 모든 것
[\b] 백스페이스. \b와 혼동하지 말것. 일반적인 String에서는 \b가 백스페이스를 의미한다.
\b 단어의 경계.[\b]와 혼동하지 말것.
\B \b 를 제외한 전부
\cX 컨트롤X와 매칭. \cM은 컨트롤M과 매칭
\d 숫자.[0-9]와 같음
\D \d 를 제외한 전부
\f form-feed
\n new line
\r carriage return
\s white space
ex>탭, 띄어쓰기, \n, \r
\S \s 를 제외한 전부
\t
\v vertical tab
\w 알파벳+숫자+_. [A-Za-z0-9_]와 동일         _가 <b>를 먹여도 별로 티가 안 난다.
\W \w 빼고 전부
\n \n이 자연수일때, ()로 지정한 n번째 정규식 (th)가 \1로 지정된다.
\xhh hh는 hexacode, Code table 보기
\uhhhh hhhh는 hexacode, 코드 번호> 3131:ㄱ 3163:ㅣ ac00:가 d7a3:

댓글목록

등록된 댓글이 없습니다.

831 (2/17P)

Search

Copyright © Cmd 명령어 3.137.169.14