DoR@Hee의 끄적끄적

PHP - 정규 표현식 본문

공부/PHP

PHP - 정규 표현식

DoR@Hee 2019. 2. 8. 18:04
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
32
33
34
35
36
37
38
39
40
41
정규 표현식 - 문자열 치환 및 검색
 
 
<?php
// php 정규표현식 상세 :http://ir.php.net/manual/kr/regexp.reference.php  
// 정규표현식은 \뿐 아니라 ~ + %등 다양하게 가능하다. 
 
if (preg_match("/php/i""PHP is the web scripting language of choice.")) { //i는 대소문자 구분을 하지 않음을 의미한다.
    echo "A match was found.";
else {
    echo "A match was not found.";
}
 
if(preg_match("/\bweb\b/i","web is good")){ // \b는 단어의 독립을 의미하며, \b\b로 쌓여진 문자는 단어의 독립 web은 성립
    echo 'ok';
else {
    echo 'no';
}
if(preg_match("/\bweb\b/i","website is good")){ //website라는 문자열은 성립 하지 않음
    echo 'ok';
else {
    echo 'no';
}
 
$subject = 'coding everybody http://opentutorials.org egoing@egoing.com 010-0000-0000';
preg_match('~(http://\w+\.\w+)\s(\w+@\w+\.\w+)~'$subject$match); 
// \()는 독립된 데이터로 추출(캡처링,역참조) \w는 문자 숫자 _ +는 하나 이상의 문자 
// .은 모든 문자열 이지만 \.시 문자열 .을 의미
// \s는 스페이스
 
var_dump($match);
echo "homepage:".$match[1];
echo "<br />";
echo "email:".$match[2];
 
?>


 

cs


1
2
3
4
5
6
7
8
9
10
11
12
13
14
정규표현식 - preg_replace
 
<?php
$string = 'April 15, 2003'//대상
$pattern = '/(\w+) (\d+), (\d+)/i'//변경하려는 대상
$replacement = '${1}1,$3'// 패턴에서 찾아온 대상을 어떻게 변경할것인지
echo preg_replace($pattern$replacement$string);
 
?>
 
 
 
 
 
cs

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
정규표현식 - preg_replace
 
<?php
$string = 'April 15, 2003'//대상
$pattern = '/(\w+) (\d+), (\d+)/i'//변경하려는 대상
$replacement = '${1}1,$3'// 패턴에서 찾아온 대상을 어떻게 변경할것인지
echo preg_replace($pattern$replacement$string);
 
$patterns = array ('/^\s*{(\w+)}\s*=/','/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/');
$replace = array ('$\1 =','\3/\4/\1\2');
echo preg_replace($patterns$replace'{startDate} = 1999-5-27');
// $startDate = 5/27/1999
 
 
/^\s*{(\w+)}\s*=/ 
// ^목표의 처음
// \s 모든 공백문자
// * 존재 할 수도 안할 수도
// {} 그냥 중괄호
// \w+ 하나 이상의 문자열 
// = 그냥 =
/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/
// 19|20 19 또는 20을 의미
// \d숫자 2자리
// \d{1,2} 숫자 1자리 또는 2
?>
 
 
 
 
 
cs


'공부 > PHP' 카테고리의 다른 글

PHP - cookie, session  (0) 2019.02.10
PHP - DB  (0) 2019.02.10
PHP - 디렉터리, 문자열  (0) 2019.02.08
PHP - API, 파일다루기  (0) 2019.02.08
PHP - 연관배열, include, namespace  (0) 2019.02.08
Comments