[php] preg_match에서 괄호 검색에 이름 붙이기

php에서 preg_matchpreg_match_all을 사용해 정규식으로 문자열을 검색할 때, 괄호 안에 있는 것들을 따로 배열에 담아 주게 된다. 이 때 괄호 안에서 맨 앞에 ?<city> 형식으로 적어 주게 되면 배열에 키값이 숫자가 아니라 city 같은 문자열로 담기게 된다. 아래 예제 참고.

$address = 'One Infinite Loop, Cupertino 95014';
$cityZipCodeRegex = '/^[^,]+,s*(?<city>.+?)s*(?<zipCode>d{5})$/';
preg_match($cityZipCodeRegex, $address, $matches);

saveCityZipCode($matches['city'], $matches['zipCode']);

문법이 기억나지 않아서 검색해 보면 잘 나오질 않아서 짜증이 나곤 했는데, 마침 Clean Code PHP의 Use explanatory variables(설명적 변수 사용)에서 관련 내용을 발견하게 돼 이번엔 그냥 내 블로그에 저장해야지 생각하게 됐다. 위의 예제 코드는 Clean Code PHP에서 가져온 것이다.

카테고리

17년차 풀스택 웹 개발자 안형우입니다

웹 개발에서도 중요한 것은 개념입니다.
이 블로그에는 제가 개발하며 익힌 개념들을 정리합니다.

워드프레스를 오래 다뤄 왔고 강의도 두 편 찍었습니다.
– 인프런 “워드프레스 제대로 개발하기 어드민 편, 클라이언트 편
– 클래스101 “누구나 할 수 있는 워드프레스 홈페이지 만들기 – 기획부터 출시까지 한 방에 OK

유튜브 채널에 워드프레스 관련 팁들을 올리고 있습니다.

👉 소개 더 보기

대표글

댓글 남기기