프리랜서 웹디자이너 RELATION RELATION.CO.KR

RELATION 로고

PHP 웹프로그래밍

[정규식] 정규식(Regular Expression)

2012.12.01
정규식은 문자열의 집합을 다루고 표현하는데 사용하는 규칙입니다. 보통 문자열 검색과 같은 패턴 매칭에 많이 응용됩니다. 보통 정규 표현식이라고도 합니다. 정규식은 여러 가지 규칙이 있습니다. 일단 이 규칙부터 알아보겠습니다.

^ 문자열의 시작
$ 문자열의 마지막
. 임의의 한 문자
* * 앞에 있는 문자가 반복되는 경유, 없을 수도 있습니다.
+ + 앞에 있는 문자가 적어도 한번 이상 나오는 경우
? ? 앞에 하나의 문자, 없을 수도 있습니다.
[] [] 안에 있는 문자열 중에 한 문자
{} {}앞에 있는 문자 또는 문자열의 개수
() ()안에 있는 글자들의 그룹화
| OR 연산자 기능


^
^abc : abc로 시작하는 문자열, abc(0),abcd(0),abcde(0),bca(X),cba(X)

$
abc$ : abc로 끝나는 문자열, abc(0),dabc(0),eabc(0),abcd(X)

.
a.c : a와 c 사이에 한 문자 허용, abc(0),adc(0),abdc(X)

*
a*c : a 문자가 반복되거나 없는 경우, c(0),ac(0),aaac(X),aaad(X)

+
a+c : a 문자가 적어도 한번 나오는 경우, ac(0),aac(0),c(X)

?
a?c : a가 없거나 한 개 존재, c(0),ac(0),aac(X)

[]
a[bc] : b,c 중 한 문자가 존재 ab(0),ac(0),ad(X),a(X)
a[bcd]e : b,c,d 중 한 문자가 존재 abe(0),ace(0),ade(X),afe(X)
a[b-e] : b,c,d,e 중 한 문자가 존재 ab(0),ae(0),ad(X),af(X),a(X)


그외 여러개의 문자들이 일렬의 순서로 되어 있을 경우 아래와 같이 간단하게 표현할 수 있습니다.

[a-z] 알파벳 소문자 중 한 문자
[A-Z] 알파벳 대문자 중 한 문자
[0-9], [[:digit:]] 숫자중한자
[a-zA-Z],[[:alpha:]] 알파벳 대, 소문자 중 한 문자
[a-Z0-9],[[:alnum:]] 알파벳 대 소문자와 숫자 중 한자
[[:space:]] 공백문자
[[:punct:]] 모든 구두점 기호


^[1-9][0-9]*$ : 처음 숫자가 0이 아니고 끝까지 숫자로 구성, 가격 체크에 사용, 1000(0), 4500(0), 55(0), 055(X), 45R(X)
{}
ab{2}c : ab가 두번 반복, ababc(0) ab{1, 3}c : ab가 한번에서 세번까지 반복, abc(0), ababc(0), abababc(0)
ab{1,}c : ab가 한번부터 무한정 반복, abc(0), ababc(0), abababc(0)....
^a{4}$ : aaaa(0)

()
a(bc)*e : bc만 * 참조, ae(0), abce(0), abcbce(0), abcbcbce(0)...
a(b{2}) : a와 두 개 이상의 b들로 된 문자열, abb(0),abbb(0),ab(X),bbb(X)

|
a(b|c)*d : b 또는 c 가 반복 존재, ad(0), abd(0), acd(0), abbbd(0), accd(0), abcd(X)

이 포스트 공유하기

글수정  글삭제 전체목록
<
 
1
           
검색    글쓰기
번호 제 목 작성자 작성일 조회수
중요 [서버] 보안서버 무료 SSL 구축 꿘쓰 2017.09.20 6086
중요 [MYSQL함수] PHP, MYSQL 기초 쿼리문 정리 꿘쓰 2011.04.15 7350
중요 [MYSQL PHP 함수] PHP, MYSQL 기초 쿼리문 정리   꿘쓰 2006.03.10 12625
186 [소스] 특정일 특정 날짜 구하기 작성글은 비공개로 설정 되었습니다. 꿘쓰 2020.08.31 1
185 [서버] URL 에서 파일 확장자(.html , .php) 없애기!!! 꿘쓰 2020.03.16 109
184 [소스] PHP function 테스트 꿘쓰 2020.03.05 120
183 [MYSQL PHP 함수] is_dir 꿘스 2020.01.31 121
182 [MYSQL PHP 함수] DB table 같은 이름 체크 꿘쓰 2019.12.13 154
181 [소스] 게시글 번호로 페이지 번호 구하기 댓글 없는 게시판 작성글은 비공개로 설정 되었습니다. 꿘쓰 2019.11.18 3
180 [소스] 페이지 이동, 페이지 자동이동 PHP 꿘쓰 2019.11.04 188
179 [MYSQL PHP 함수] PHP 현재 페이지명, 도메인명 URL 정보 꿘쓰 2019.06.24 280
178 [기타] PHP 소수점 올림,반올림, 버림 꿘쓰 2018.07.06 949
177 [기타] php를 이용한 mysql 엑셀 파일 만들기 꿘쓰 2019.07.24 1394
176 [MYSQL PHP 함수] 특정값 조회 where 컬럼명 in (값,,,,,,) 꿘쓰 2018.01.15 938
175 [서버] 보안서버 무료 SSL 구축 꿘쓰 2017.09.20 6086
174 [소스] LK Query 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.08.23 2
173 [소스] php xml 파일 생성하기 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.06.05 1
172 [소스] 네이버 신디케이션 날짜 변경 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.06.01 1
171 [소스] 날짜 계산(DATE_ADD) 꿘쓰 2017.05.08 1116
170 [소스] 기간별 호텔 룸가격 구하기 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.05.05 1
169 [소스] 기간 검색 작성글은 비공개로 설정 되었습니다. 꿘쓰 2017.05.05 3
168 [문자열함수] 알파벳 순서대로 출력하기 꿘쓰 2017.02.23 2094
167 [소스] PHP를 이용한 RSS 만들기 꿘쓰 2016.07.30 1410