PHP 정규표현식

(2017-12-08)
1. PHP 정규표현식정규표현식 참조

  ㅇ 지원 종류
     -  Perl 호환의 정규표현식 지원 (PCRE)  : `preg`
     -  멀티바이트 mbstring 정규표현식 지원 : `mb_ereg`
     -  POSIX 확장 형식 지원 (쓰기 쉬우나, 기능 빈약,취약성 때문에 5.3 버전 이후 지원 중단)

  ㅇ 정규 표현식은 반드시 슬래시(/)로 감싸짐


2.  패턴 기호

  ㅇ 단일 문자 
     -  . : 임의 한 문자 (줄바꿈 문자를 제외한 모든 단일 문자)

  ㅇ 반복성
     -  ?     : 0 또는 1회 만 매치 (아예 없거나 1회 만 나타남, 최대 1회)
     -  *     : 최소 0회 이상 반복 매치
     -  +     : 최소 1회 이상 반복 매치
     -  {n}   : n회 반복 매치
     -  {n,m} : n회 이상 m회 이하 반복 매치
     -  {n,}  : 적어도 n회 이상 반복 매치

  ㅇ 위치 지정
     -  ^   : 문자열의 시작
     -  $   : 문자열의 끝

  ㅇ 문자 클래스
     -  [0-9] 또는 d  : 모든 숫자
     -  [^0-9] 또는 D : 숫자가 아닌 모든 문자

  ㅇ 선택(or)
     -  |


3. 패턴 수식자패턴 구분 문자인 슬래시(/) 뒤에서 지정
     -  i : 대소문자 구분 안함
     -  m : 줄 단위 매칭
     -  s : `.`을 줄바꿈 문자에도 매칭
     -  u : 정규표현식(패턴 문자열)을 UTF-8 인코딩으로 취급
     -  x : 이스케이프 또는 문자 클래스 내부를 제외하고, 패턴공백문자를 무시


4. 정규표현식 내 특수문자 이스케이프

  ㅇ  특수문자 : `.`, `,`, `?`, `*`, `+`, `^`, `$`, `[`, `]`, `(`, `)`
  ㅇ  이스케이프 처리 : 특수문자 앞에 역슬래시 `\`를 붙임
  ㅇ  만일, 단일 역슬래시와의 매치하려면, 역슬래시를 4번 씀(`\\\\`)
  ㅇ  특수 문자 이스케이프 전용 함수 : preg_quote()


5. 관련 PHP 함수

  ㅇ  preg_match(pattern, subject)     : 최초 매치에서 멈춤
     - 패턴에 맞는 문자가 있으면 true 반환
  ㅇ  preg_match_all(pattern, subject) : 모든 매치를 찾음
  ㅇ  preg_replace(pattern, replacement, subject)


[PHP] 1. PHP 2. PHP 함수 3. PHP 및 HTTP 4. PHP 정규표현식 5. PHP 문자열 활용 6. PHP 쿠키/세션 7. PHP 내장 웹서버 8. PHP 환경 설정 9. PHP 변수 자료형

 
        최근수정     참고문헌