"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > `preg_match` 정규식에서 대소문자를 구분하지 않게 하려면 어떻게 해야 합니까?

`preg_match` 정규식에서 대소문자를 구분하지 않게 하려면 어떻게 해야 합니까?

2025-01-01에 게시됨
검색:304

How Do I Make a `preg_match` Regular Expression Case-Insensitive?

preg_match 대소문자를 구분하지 않도록 설정

질문에 제공된 코드 조각에서 대소문자 구분으로 인해 의도한 결과를 얻을 수 없습니다. 이 문제를 해결하려면 정규식에서 i 수정자를 사용하여 대소문자를 구분하지 않도록 할 수 있습니다.

코드를 수정하는 방법은 다음과 같습니다.

preg_match("#(.{100}$keywords.{100})#i", strip_tags($description), $matches);

구분자(이 경우 #) 뒤에 i 수정자를 추가하면 정규식에서 대소문자를 구분하지 않게 됩니다. 즉, 대문자와 소문자를 모두 일치시켜 원래 코드의 대소문자 구분 문제를 해결합니다.

i 수정자는 #뿐만 아니라 모든 구분 기호와 함께 사용할 수 있습니다. / 구분 기호를 사용하는 경우 다음과 같이 i 수정자를 뒤에 추가합니다:

preg_match("/your_regexp_here/i", $s, $matches); // i means case insensitive

i 수정자가 설정되면 패턴의 문자가 대문자와 소문자 모두와 일치합니다. 이렇게 하면 입력 문자열의 문자에 관계없이 코드가 올바르게 작동할 수 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3