>백엔드 개발 >PHP 튜토리얼 >PHP 일반 수정자 사용법에 대한 자세한 설명

PHP 일반 수정자 사용법에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-12 11:51:261651검색

일반 표현식에서 일반적으로 사용되는 패턴 수정자에는 i, g, m, s, x, e 등이 포함됩니다. 그것들은 조합하여 사용될 수 있습니다.
그 기능은 다음과 같습니다:
//수정자: i 대소문자를 구분하지 않는 일치;
//수정자: g는 전역 일치를 의미합니다.
//수정자: m은 어떤 줄이든 상관없이 문자열을 여러 줄로 처리합니다.
//수정자: s는 문자열을 단일 행으로 취급하고 개행 문자를 일반 문자로 처리합니다.
//수정자: x는 패턴의 공백을 무시합니다.
//수정자: A는 대상 문자를 시작 부분에서 일치하도록 합니다.
//수정자: D $를 사용하여 끝 문자를 제한하는 경우 끝에 개행이 허용되지 않습니다.
//수정자: U 가장 최근 문자열과만 일치합니다.

<?php
   //标记在整个模式之外;
   // 例://$mode="/\bis\b/U",其中U在外面;
  //修正符:i 不区分大小写的匹配;
     //如:"/abc/i"可以与abc或aBC或ABc等匹配;
  //修正符:m 将字符串视为多行,不管是那行都能匹配;
  //  例://模式为:$mode="/abc/m";
     //要匹配的字符串为:$str="bcefg5e\nabcdfe"
     //注意其中\n,换行了;abc换到了下一行;
     //$str和$mode仍可以匹配,修正符m使得多行也可匹配;
  //修正符:s 将字符串视为单行,换行符作为普通字符;
   // 例://模式为:$mode="/pr.y/";
      //要匹配字符串为:$str="pr\ny";
      //两者不可匹配; . 是除了换行以外的字符可匹配;
      //修改下模式为:$mode="/pr.y/s";
        //其中修正符s将\n视为普通字符,即不是换行;
      //最后两者可以匹配;
  //修正符:x 将模式中的空白忽略;
  //修正符:A 强制从目标字符串开头匹配;
   // 例://$mode="/abc/A";
      //可以与$str="abcsdfi"匹配,
      //不可以与$str2="sdsdabc"匹配;
      //因为$str2不是以abc开头;
  //修正符:D 如果使用$限制结尾字符,则不允许结尾有换行;
  //  例://模式为:$mode="/abc$/";
      //可以与最后有换行的$str="adshabc\n"匹配;
      //元子符$会忽略最后的换行\n;
      //如果模式为:$mode="/abc/D",
      //则不能与$str="adshabc\n"匹配,
      //修正符D限制其不可有换行;必需以abc结尾;
  //修正符:U 只匹配最近的一个字符串;不重复匹配;
  //  例:
  //   如模式为:
      $mode="/a.*c/";
      $str="abcabbbcabbbbbc" ;
      preg_match($mode,$str,$content);
      echo $content[0]; //输出:abcabbbcabbbbbc;
      //如果$mode="/a.*c/";变成$mode="/a.*c/U";
      // 则只匹配最近一个字符串,输出:abc;
//修正符:e 配合函数preg_replace()使用,
//      可以把匹配来的字符串当作正则表达式执行;
?>

위 내용은 PHP 일반 수정자 사용법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.