/*************************************
PHP 정규 표현식 함수 정리
http://php.net/manual/en/ref.regex.php
**************************************/
/*
정규 표현식 규칙
https://en.wikipedia.org/wiki/Regular_expression
. 어떤 한 글자
a.c = a 와 c 사이의 어떤 한 글자
ex) abc, a8c, arc
.ac = ac 앞에 어떤 한 글자
ex) zac, 5ac
* 0 또는 하나 이상의 한 글자
a*c = c 앞에 글자가 없거나 또는 c 와 a 사이에 글자가 없거나 하나 이상
ex) c, ac, abc, abbbbc
ac* = ac 뒤에 글자가 없거나 하나 이상
ex) ac, ac8, acbd123
+ 최소 하나 이상의 한 글자
a+c = c 앞에 반드시 a 글자가 하나 이상
ex) ac, abc, aaaabbbbbbbbbbc
? 0 또는 하나의 한 글자
a?c = c 앞에 글자가 없거나 또는 c 와 a 사이에 글자가 없는
ex) c, ac
^ 문자열의 시작
^ac = ac 로 시작하는 모든 문자열
ex) ac123, ac 8 defg
^a?c = c 나 ac 로 시작하는 모든 문자열
ex) cdefg 123, ac 123
$ 문자열의 끝
ac$ = ac 로 끝나는 모든 문자열
ex) zyxw 123 ac, fold ac
a?c+$ = c 나 ac 로 시작하고 하나 이상의 c 로 끝나는 모든 문자열
ex) c, ac, cc, ccccc, acccccccccccc
[] 대괄호 안에 있는 문자열 중에서 하나의 문자
[a-z] = 영어 소문자
[a-zA-Z] = 영어 소문자와 대문자
[0-9] = 숫자
{} 중괄호 안에 반복할 문자나 문자열의 갯수
a{3}c = aaac 와 같이 a 의 갯수가 3개인것을 찾음
() 소괄호 안에 있는 글자들을 그룹으로 묶음
a(bc){2} = a 뒤에 bc 가 두개인 것
ex) tabcbcggg, kabcbc123
a(bc) = a 뒤에 bc가 없거나 하나 이상
ex) cia, abc, abcdacbc
| 또는 OR 연사자
apple|banana = apple 또는 banana 를 모두 찾음
ex) apple juice, banana shake
*/
/*
문자열에 정규 표현식 패턴이 일치하는 부분이 있는지 검색
ereg
int = ereg ( string $pattern , string $string [, array &$regs ] ) // 있으면 1, 없으면 0
http://php.net/manual/en/function.ereg.php
*/
$date = "2016-09-12";
if ( ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs) ) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Invalid date format: $date";
}
/*
문자열에 정규 표현식 패턴이 일치하는 부분이 있는지 검색, 영어 대소문자 구분 안함
eregi
int = eregi ( string $pattern , string $string [, array &$regs ] )
http://php.net/manual/en/function.eregi.php
*/
$string = 'XYZ';
if (eregi('z', $string)) {
echo "'$string' contains a 'z' or 'Z'!";
}
/*
문자열에 정규 표현식 패턴이 일치하는 부분을 찾아, 지정한 문자열로 바꿈
ereg_replace
string = ereg_replace ( string $pattern , string $replacement , string $string )
http://php.net/manual/en/function.ereg-replace.php
*/
$string = "This is a test";
echo str_replace(" is", " was", $string);
echo ereg_replace("( )is", "\\1was", $string);
echo ereg_replace("(( )is)", "\\2was", $string);
/*
문자열에 정규 표현식 패턴이 일치하는 부분을 찾아 지정한 문자열로 바꿈, 영어 대소문자 구분 안함
eregi_replace
string = eregi_replace ( string $pattern , string $replacement , string $string )
http://php.net/manual/en/function.eregi-replace.php
*/
$pattern = '(>[^<]*)('. quotemeta($_GET['search']) .')';
$replacement = '\\1\\2';
$body = eregi_replace($pattern, $replacement, $body);
/*
정규 표현식 패턴으로 문자열을 구분하여 분할
split
array = split ( string $pattern , string $string [, int $limit = -1 ] )
http://php.net/manual/en/function.split.php
*/
// Delimiters may be slash, dot, or hyphen
$date = "04/30/1973";
list($month, $day, $year) = split('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year
\n";
/*
정규 표현식 패턴으로 문자열을 구분하여 분할, 영어 대소문자 구분 안함
spliti
array = spliti ( string $pattern , string $string [, int $limit = -1 ] )
http://php.net/manual/en/function.spliti.php
*/
$string = "aBBBaCCCADDDaEEEaGGGA";
$chunks = spliti ("a", $string, 5);
print_r($chunks); // , BBB , CCC , DDD , EEEaGGGA
2016년 9월 12일 월요일
PHP 정규 표현식 함수 정리
피드 구독하기:
댓글 (Atom)
플러터 단축키
1. 위젯 감싸기/벗기기 비주얼 스튜디오 : Cmd + . 안드로이드 스튜디오 : Alt + Enter 2. 코드 정렬 비주얼 스튜디오 : Ctrl + S 안드로이드 스튜디오 : Ctlr + Alt + L 3. StatelessWidget ->...
-
컴퓨터로 일본어를 입력하려면 일본어 키보드를 쓰면 편하겠지만, 자판배열을 외워야하는 단점이 있다. MS IME 를 사용하면, 간단히 발음 나는대로 영어로 입력을 하면, 일본어 입력을 할 수 있다. ~을 / ~를 에 해당하는 조사...
-
http://www.websitenotworking.com 사이트 접속이 되는지 안되는지 느려서 확인이 안될때, 나만 그런거 같기도 하고, 서버가 다운이 됐나? 싶을때 확인할 수 있는 사이트다.
댓글 없음:
댓글 쓰기