정규표현식
정규 표현식이란 어떠한 값이 특정한 형태를 갖는지를 검사하는 도구로, 주로 폼에 입력된 데이터를 검사하기 위해 이용된다.
ereg, eregi
문자열에 어떤 문자가 포함되어 있는지를 검사하는 함수이다.
두 함수의 차이점은 ereg는 대소문자를 구분하지만, eregi는 대소문자를 구분하지 않는다.
형식
저장될변수 = ereg("검사할 문자", "검사대상 문자열");
예제
- <?
-
$a = "abcdef";
-
echo ereg("a", $a); //a가 포함되어 있을경우 TRUE 리턴, TRUE는 1이다.
-
echo ereg("A", $a); //ereg는 대소문자를 구분하기 때문에 FALSE 리턴, FALSE는 빈값이다.
-
echo eregi("A", $a); //eregi는 대소문자를 구분하지 않기 때문에 TRUE 리턴
- ?>
^, $
^와 $는 시작과 끝을 나타낸다.
기능
- ^ : 문자열의 시작을 의미
- $ : 문자열의 끝을 의미
예제
- <?
-
$a = "abcd";
-
echo ereg("^a", $a); //a로 시작하는 문자열이면 TRUE 리턴
-
echo ereg("d$", $a); //d로 끝나는 문자열이면 TRUE 리턴
- ?>
참고
대상문자열 | 정규표현식 | 설명 | 결과 |
abc | ^a | a로 시작하는 문자열 | TRUE |
abc | c$ | c로 끝나는 문자열 | TRUE |
abc | ^ab | ab로 시작하는 문자열 | TRUE |
abc | abc | abc를 포함하는 문자열 | TRUE |
abc | ^abc$ | abc인 문자열 | TRUE |
*, +, ?
*, +, ? 는 문자의 반복에 관한 연산자이다.
기능
- * : 0개 또는 1개 이상
- + : 1개 또는 1개 이상
- ? : 0개 또는 1개
예제
<?
$a="abcccc";
echo ereg("abc*", $a); //ab뒤에 c가 0개 혹은 1개 이상 있는 문자열
?>
참고
정규표현식 | 설명 | 결과 |
abc* | ab뒤에 c가 0개 또는 1개이상있는 문자열 | ab, abc, abcc, abccc, ... |
abc+ | ab뒤에 c가 1개 이상 있는 문자열 | abc, abcc, abccc, ... |
abc? | ab뒤에 c가 없거나 1개 있는 문자열 | ab, abc |
{ }
*, +, ? 대신에 {}을 사용하여 문자열의 반복을 결정할 수 있다.
- 문자는 최소개수만큼 있어야 하고, 최대개수를 벗어날수 없다.
- 최소 개수는 꼭 적어주어야 하고, 최대개수를 적지 않을 경우 1개 이상의 수를 의미한다.
- {3}과 같이 하나의 수만 적어주면 3개만을 나타낸다.
형식
문자{최소개수, 최대개수}
이 글은 스프링노트에서 작성되었습니다.