PHP에서 대괄호 사이의 여러 텍스트 세그먼트 캡처
질문:
캡처 방법 주어진 대괄호로 묶인 모든 텍스트 세그먼트 문자열?
답변:
대괄호 사이에 여러 텍스트 세그먼트를 캡처하려면 다음 정규식을 사용하십시오.
/\[[^\]]*\]/
이 정규식은 모든 항목과 일치합니다. 대괄호로 시작하고 대괄호가 아닌 문자를 원하는 수만큼 포함하며 대괄호로 끝나는 문자열 브래킷.
캡처된 세그먼트를 추출하려면 preg_match_all() 함수를 사용하세요. 이 함수는 정규식 패턴과 대상 문자열을 입력으로 사용하고 모든 일치 항목이 포함된 배열을 반환합니다. 다음 PHP 코드는 이 정규식을 사용하여 여러 텍스트 세그먼트를 캡처하는 방법을 보여줍니다.
$text = '[This] is a [test] string, [eat] my [shorts].'; preg_match_all("/\[[^\]]*\]/", $text, $matches); var_dump($matches[0]);
이 코드는 다음 출력을 생성합니다.
array(4) { [0] => string(5) "[This]" [1] => string(5) "[test]" [2] => string(5) "[eat]" [3] => string(7) "[shorts]" }
대괄호 없이 텍스트를 추출하는 대안:
대괄호 안의 텍스트만 추출하려면 다음을 사용하세요. regex:
/\[([^\]]*)\]/
이 정규식은 대괄호로 시작하고 대괄호가 아닌 문자를 포함하며 대괄호로 끝나는 모든 문자열과 일치합니다. 괄호 안의 문자는 괄호를 사용하여 그룹화됩니다.
대괄호 없이 캡처된 세그먼트를 추출하려면 다음 PHP 코드와 같이 첫 번째 캡처 그룹을 사용하십시오.
preg_match_all("/\[([^\]]*)\]/", $text, $matches); var_dump($matches[1]);
이 코드는 다음과 같은 출력을 생성합니다.
array(4) { [0] => string(4) "This" [1] => string(4) "test" [2] => string(3) "eat" [3] => string(6) "shorts" }
위 내용은 PHP를 사용하여 대괄호로 묶인 여러 텍스트 세그먼트를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!