Programming/PHP / / 2024. 11. 19. 10:58

[정규표현식]대괄호([]) 안에 있는 문자만 갖고 오기

728x90
<?php
$text = '내 이름은 [김똥개]입니다. 나이는 [10살]입니다.';
preg_match_all("/\[[^\]]*\]/", $text, $matches);
print_r($matches);
/*
Array
(
[0] => Array
(
[0] => [김똥개]
[1] => [10살]
)
)
*/
preg_match_all("/\[([^\]]*)\]/", $text, $matches);
print_r($matches);
/*
Array
(
[0] => Array
(
[0] => [김똥개]
[1] => [10살]
)
[1] => Array
(
[0] => 김똥개
[1] => 10살
)
)
*/

얼핏 보면 둘 같아 보이지만 패턴 부분이 약간 차이가 있습니다.

첫 번째 : "/\[[^\]]*\]/"

두 번째 : "/\[([^\]]*)\]/"

반응형