PHP 정규표현식

(2019-09-30)

preg_match, preg_replace

1. PHP 정규표현식정규표현식 참조

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

  ㅇ 정규 표현식 구분자 : 정규 표현식은 반드시 슬래시(/)로 감싸짐
     - 대부분 다른 언어에서도. 2개의 슬래시(/) 사이에 `문자열 패턴 식(정규표현식)`을 줌


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) : 매치 교체
     - 例) preg_replace("/[^a-zA-Z0-9_\.]/","",string); // 영문자,_,숫자 이외 모든 문자 제거


[PHP] 1. PHP 2. PHP 기초 문법 3. PHP 및 HTTP 4. PHP 정규표현식 5. PHP 쿠키/세션 6. PHP 내장 웹서버 7. PHP 환경 설정 8. PHP 객체지향 9. PHP 배열 10. PHP DB 접속
[자료형,전역변수] [PHP 함수,활용]
  1.   기술공통
  2.   기초과학
  3.   진동/파동
  4.   방송/멀티미디어/정보이론
  5.   전기전자공학
  6.   통신/네트워킹
  7.   정보기술(IT)
        1. 정보기술
    1.   전산기초
    2.   컴퓨터구조
    3.   프로그래밍
          1. 프로그램, 프로그래밍
      1.   프로그래밍 언어론
      2.   프로그래밍 방법론
      3.   객체지향 프로그래밍
      4.   자료표현코드
      5.   자료구조
      6.   알고리즘
      7.   시스템 소프트웨어
      8.   프로그래밍언어 종류
            1. 프로그래밍 언어
        1.   C
        2.   C++
        3.   자바(Java)
        4.   자바스크립트
        5.   PHP
              1. PHP
              2. PHP 기초 문법
              3. PHP 및 HTTP
              4. PHP 정규표현식
              5. PHP 쿠키/세션
              6. PHP 내장 웹서버
              7. PHP 환경 설정
              8. PHP 객체지향
              9. PHP 배열
              10. PHP DB 접속
          1.   자료형,전역변수
          2.   PHP 함수,활용
        6.   파이썬
        7.   (기타 언어)
      9.   프로그래밍 기타일반
    4.   데이터베이스
    5.   소프트웨어 공학
    6.   운영체제
    7.   정보보호/보안
    8.   IT 기타기술
  8.   공업일반(기계,재료등)
  9.   표준/계측/품질
  10.   기술경영

 
        최근수정     요약목록     참고문헌