
RegexIterator::setFlags 메서드는 RegexIterator 객체의 패턴 매칭 플래그를 설정하는 데 사용됩니다. 이 메서드는 플래그를 설정한 후, RegexIterator 객체가 패턴 매칭을 수행할 때 사용됩니다.
RegexIterator::setFlags 메서드의 매개 변수로 전달할 수 있는 플래그의 목록은 다음과 같습니다.
- PREG_PATTERN_ORDER (기본값): 패턴이 순서대로 매칭됩니다.
- PREG_SET_ORDER: 패턴이 순서대로 매칭되며, 매칭된 패턴의 순서가 달라집니다.
- PREG_OFFSET_CAPTURE: 패턴 매칭 시 위치 정보를 반환합니다.
- PREG_SPLIT_NO_EMPTY: 패턴 매칭 시 비어있는 문자열을 제외합니다.
- PREG_SPLIT_DELIM_CAPTURE: 패턴 매칭 시 분리 문자열을 포함합니다.
- PREG_SPLIT_NO_EMPTY: 패턴 매칭 시 비어있는 문자열을 제외합니다.
- PREG_JUNK_NONE: 패턴 매칭 시 주석을 무시합니다.
- PREG_JUNK_COMMENTS: 패턴 매칭 시 주석을 포함합니다.
- PREG_JUNK_ALL: 패턴 매칭 시 주석과 주석 내의 내용을 포함합니다.
RegexIterator::setFlags 메서드를 사용하여 플래그를 설정한 후, 패턴 매칭을 수행하는 예제 코드는 다음과 같습니다.
#hostingforum.kr
php
$iterator = new RegexIterator(new ArrayIterator(['hello', 'world', 'hello world']), '/hello/');
$iterator->setFlags(PREG_OFFSET_CAPTURE);
foreach ($iterator as $match) {
echo $match[0] . ' (위치: ' . $match[1] . ')n';
}
이 예제 코드는 RegexIterator 객체를 생성하고, 플래그를 설정한 후, 패턴 매칭을 수행합니다. 결과는 다음과 같습니다.
#hostingforum.kr
hello (위치: 0)
hello world (위치: 6)
위 예제 코드에서, PREG_OFFSET_CAPTURE 플래그를 사용하여 패턴 매칭 시 위치 정보를 반환합니다.
2025-03-06 17:35