반응형
https://ponyozzang.tistory.com/176?category=757972
알기 쉬운 PHP 정규식 표현 preg_match 함수
PHP에서는 preg_match함수를 사용하여 정규식 표현을 작성합니다.
preg_match
첫 번째 인수 : 정규식 표현 작성.
두 번째 인수 : 검색 대상 문자열.
세 번째 인수 : 배열 변수 반환. 패턴 매치에서 매칭된 값을 배열로 저장.
반환값 : 매칭에 성공하면 1, 실패하면 0이 반환
샘플
<?php
$text = 'My name is Tom';
$reg = preg_match('/\btom\b/i',$text,$matches);
var_dump($matches);
?>
tom이라는 문자열을 대문자 소문자 관계없이 매칭한 값을 취득하는 정규식 표현입니다.
결과는 다음과 같습니다.
결과
array(1) { [0]=> string(3) "Tom" }
preg_match_all
preg_match은 매칭되는 값을 찾게 되면 그 시점에서 검색이 종료 됩니다.
하지만 매칭되는 모든 값을 취득하고 싶은 경우에는 적합하지 않기 때문에 매칭되는 모든 값을 취득하고 싶을 때에는 preg_match_all 함수를 사용합니다.
샘플
<?php
$text = 'My name is Tom. I heard You are also tom, right? No, I am Tommy.';
$reg = preg_match_all('/\btom\b/i',$text,$matches);
var_dump($matches);
?>
결과
array(1) { [0]=> array(2) { [0]=> string(3) "Tom" [1]=> string(3) "Tom" } }
검색 결과에는 Tom과 tom에 매칭되어 2개의 값을 배열로 취득하였습니다.
참고로 Tommy에는 매칭되지 않습니다.(\b으로 지정했기 때문에)
preg_replace
preg_replace는 검색 문자열과 매칭되는 값이 있으면 치환을 시켜주는 함수입니다.
첫 번째 인수 : 정규식 표현 작성.
두 번째 인수 : 치환 하고 싶은 문자 설정.
세 번째 인수 : 대상 문자열.
네 번째 인수 : 생략 가능. 하나만 치환 하고 싶은 경우 1을 설정.
샘플
<?php
$text = 'I like a dog';
$reg = preg_replace('/a (.*)/i', 'a $1 race', $text);
echo $reg."\n";
?>
결과
I like a race
반응형
'얕고넓은지식 > Computer knowledge' 카테고리의 다른 글
kosinj 22022401 diagnostic policy service...중지 (0) | 2022.07.04 |
---|---|
dell mobile connect this device does not meet the minimum requirements for installing the software (0) | 2022.06.10 |
윈도우10 복구 오류 검사 복원.... (0) | 2022.05.25 |
cmd diskpart 명령어 (0) | 2022.05.25 |
윈도우 10 NPKI 저장위치 (0) | 2022.03.20 |
[아미나] 미소 베이직 4.4 테마 (0) | 2022.03.04 |
ubuntu 서버 전체 백업하기 / 복원하기 (0) | 2022.02.02 |
유튜브 단축키 (0) | 2022.01.29 |
Antimalware Service Executable 뭐야 넌..또.. (0) | 2022.01.18 |
software reporter tool 뭐야? (0) | 2022.01.18 |