티스토리 뷰
가끔 정규식을 분석해야 할 때가 있다. 그래서 한번 정리해 보았다.
정규식에 사용되는 기호
^ (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);
제거
$STRING=str_replace(" "," ",$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);
'웹프로그래밍 > PHP' 카테고리의 다른 글
| Open /etc/postfix/main.cf: Permission denied (0) | 2016.01.13 |
|---|---|
| PHP에서 csv로 저장시 연락처 0 삭제 방지 (0) | 2015.10.23 |
| [php] 파일 이동, 복사 함수 (0) | 2015.04.15 |
| PHP + jQuery AJAX Upload (0) | 2015.04.10 |
| PHP XML CDATA Parsing (0) | 2015.04.10 |
- Total
- Today
- Yesterday
- 앱테크
- 부동산
- php
- remove
- 카뱅
- 공제
- 정부
- 아파트매매
- ubuntu
- 카카오뱅크
- 2026
- 출산
- 해외주식
- 세금
- 적금
- 안과
- 우회
- 대출
- 지도
- etf
- 투자
- 금융
- 고금리
- 재테크
- 연말정산
- 신혼부부
- 혜택
- 내집마련
- 안드로이드
- 주담대
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 | 31 |