메뉴 건너뛰기

프로그램언어

2017.04.13 18:25

정규식

조회 수 17599 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
 어떠한 형식에 맞춰 일치하는 결과를 가지고 올 수 있는 것

가끔 정규식을 분석해야 할 때가 있다. 그래서 한번 정리해 보았다.

 

정규식에 사용되는 기호

^    (caret) 문장의 시작

$    (dollar) 문장의 끝

.    (period) 줄바꿈 또는 단일문자 ex) h.t  => hat, hothit, hut, h7t. 등 검출

[]    (bracket) 문자의 집합이나 범위를 나타냄, 두 문자 사이에 – 는 범위를 나타냄

{}    (braced) {} 내의 숫자는 직전의 선행 문자 수를 나타냄

*    (asterisk) 직전의 선행문자가 0번 또는 그이상 나타냄

+    (asterisk) 직전의 선행문자가 1번 이상 나타냄

?    (asterisk) 직전의 선행문자가 0번 또는 1번 나타냄

|    (bar) or 을 나타냄

\    (backslash) 위에서 사용하는 특수문자를 정규식내에서 문자로 취급하고 싶을 때 \를 선행 기술

 

예1)

abc    abc 가 있는 것

^abc    abc 로 시작하는 것

abc$    abc 로 끝나는 것

^abc$    abc 로 시작하고 끝나는 것

[abc]    a,b,c 전부중 하나 포함한 경우

[a-z]    a 에서 z 중 하나 포함한 경우

^[0-9]    숫자 0~9 아무 숫자나 상관없으니 숫자로 시작하는 패턴을 찾는 것

[^0-9]    숫자가 들어있지 않는 패턴을 찾는 것

^[^0-9]    숫자가 들어있지 않는 문자로 시작하는 패턴을 찾는 것

a{3}    a 의 3번 반복인 aaa 인 것

a{3,}    a 가 3번 이상 반복인 것, aaa, aaaa, aaaaa

[0-9]{2}    두자리 숫자

abc[7-9]{2}    abc 포함 7에서 9까지 2자리 숫자 포함, abc77, abc78, abc97

 

예2) 대표적으로 많이 사용하는 정규식

 

이메일

"/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$/"

 

집전화 : 지역번호가 들어간 전화번호 확인

"/^(070|02|031|032|033|041|042|043|051|052|053|054|055|061|062|063|064)-\d{3,4}-\d{4}$/u"

 

휴대폰번호 : 휴대폰 번호만 입력받을 경우

"/^(010|011|016|017|018|019)-\d{3,4}-\d{4}$/u"

 

우편번호

"/^\d{3}-?\d{3}$/u"

 

아이디 : 영숫자만 허용, 첫글자는 영문자로 시작, 4~8자리 이내로 입력

"/^[a-zA-Z]\w{2,7}$/u"

 

주민번호 : 숫자 13자리, 가운데 – 는 입력 해도 안해도 됨

"/^\d{2}[0-1]\d[0-3]\d-?[1-6]\d{6}$/u"

 

정규식을 이용한 치환

preg_replace( "치환될 정규식", "변환값","원본 문자열");

 

예) 태그 제거

 

iframe 제거 

$STRING=preg_replace("!<iframe(.*?)<\/iframe>!is","",$STRING);

 

&nbsp;  제거

$STRING=str_replace("&nbsp;"," ",$STRING);

 

복수 공백 하나로

$STRING=preg_replace("/\s{2,}/"," ",$STRING)

 

태그안에 style 속성 제거

$STRING=preg_replace("/ style=([^\"\']+) /"," ",$STRING); // style=border:0... 따옴표가 없을때
$STRING=preg_replace("/ style=(\"|\')?([^\"\']+)(\"|\')?/","",$STRING); // style="border:0..." 따옴표 있을때

 

태그안의 width=, height= 속성 제거

$STRING=preg_replace("/ width=(\"|\')?\d+(\"|\')?/","",$STRING);
$STRING=preg_replace("/ height=(\"|\')?\d+(\"|\')?/","",$STRING);


  1. No Image 04Jul
    by
    2018/07/04 Views 5321 

    방금 INSERT 했던 SQL 문의 PK(primary key)값 가져오기

  2. No Image 04Jul
    by
    2018/07/04 Views 4054 

    PHP 휴대폰번호 짜르기 (preg_replace) "-" 넣기. 형식바꾸기

  3. [이클립스]PHP 개발환경 만들기

  4. No Image 28Mar
    by
    2018/03/28 Views 8150 

    MySQL(MariaDB) 테이블 만들기

  5. PHP 네이버블로그 원격 글쓰기 API 소스

  6. No Image 09Feb
    by
    2018/02/09 Views 10626 

    PHP에서 암호화 encrypt 복호화 decrypt 해서 값을 넘기기

  7. base64 인코딩/디코딩 함수의 특징

  8. No Image 13Apr
    by
    2017/04/13 Views 17673 

    PHP 날짜 함수

  9. No Image 13Apr
    by
    2017/04/13 Views 19505 

    PHP, $_SERVER 변수

  10. No Image 13Apr
    by 조쉬
    2017/04/13 Views 17599 

    정규식

  11. No Image 27Mar
    by
    2017/03/27 Views 21681 

    파일시스템, 폼 파일업로드 관련 함수

  12. No Image 27Mar
    by
    2017/03/27 Views 17940 

    네이버 자동 띄어쓰기를 이용하기

  13. No Image 07Mar
    by
    2017/03/07 Views 29782 

    php 엑셀 다운로드 구현

  14. No Image 07Mar
    by
    2017/03/07 Views 18866 

    두 날짜 사이의 차이 구하기

  15. No Image 07Mar
    by
    2017/03/07 Views 19977 

    날짜 일수 차이 계산

  16. No Image 07Mar
    by
    2017/03/07 Views 26307 

    php 세션 유지시간 늘리기

  17. No Image 07Mar
    by
    2017/03/07 Views 40078 

    리다이렉션(페이지 이동)의 3가지 방법, location.href

  18. No Image 07Mar
    by
    2017/03/07 Views 19026 

    자릿수만큼 앞에 0 붙이기

  19. No Image 07Mar
    by
    2017/03/07 Views 19102 

    세션 시작 / 세션 데이터 추가 / 세션 데이터 삭제 / 세션 종료하기

  20. No Image 07Mar
    by
    2017/03/07 Views 18884 

    도메인 앞에 자동으로 WWW를 붙이는 방법

Board Pagination Prev 1 ... 4 5 6 7 8 9 10 11 12 13 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved