<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/pcre.pattern.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'reference.pcre.pattern.modifiers.php',
    1 => 'Opciones disponibles para las expresiones regulares',
    2 => 'Opciones de b&uacute;squeda',
  ),
  'up' => 
  array (
    0 => 'pcre.pattern.php',
    1 => 'Patrones PCRE',
  ),
  'prev' => 
  array (
    0 => 'regexp.reference.performance.php',
    1 => 'Rendimiento',
  ),
  'next' => 
  array (
    0 => 'reference.pcre.pattern.differences.php',
    1 => 'Diferencias con Perl',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/pcre/pattern.modifiers.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="reference.pcre.pattern.modifiers" class="article">
 <h1 class="title">Opciones de búsqueda</h1>

 
  <p class="para">
   Las opciones de PCRE se listan a continuación. Los nombres entre
   paréntesis son los nombres internos a PCRE.
   Los espacios y los caracteres de nueva línea son ignorados
   en los modificadores, los otros caracteres causan errores.
  </p>
  <p class="para">
   <blockquote class="blockquote">
    <dl>
     
      <dt><em>i</em> (<code class="literal">PCRE_CASELESS</code>)</dt>
      <dd>
       <span class="simpara">
        Realiza una búsqueda insensible a mayúsculas o minúsculas.
       </span>
      </dd>
     
     
      <dt><em>m</em> (<code class="literal">PCRE_MULTILINE</code>)</dt>
      <dd>
       <span class="simpara">
        Por omisión, PCRE trata la cadena sujeto como una sola
        línea (aunque esta cadena contenga retornos de carro).
        El metacarácter &quot;inicio de línea&quot; (^) solo será
        válido una vez, al inicio de la línea, y el
        metacarácter &quot;fin de línea&quot; ($) solo será válido
        al final de la cadena, o antes del retorno de carro
        final (a menos que se active la opción <em>D</em>).
        Es el mismo funcionamiento que en Perl.
       </span>
       <span class="simpara">
        Cuando esta opción está activada, &quot;inicio de línea&quot; y
        &quot;fin de línea&quot; corresponderán entonces a los caracteres
        siguiente y precedente inmediatamente a
        un carácter de nueva línea, además del inicio
        y del final de la cadena. Es el mismo
        funcionamiento que la opción Perl /m. Si no hay ningún
        carácter de nueva línea &quot;\n&quot; en la cadena sujeto,
        o si no hay ninguna ocurrencia de ^ o $ en el patrón, esta opción
        no sirve de nada.
       </span>
      </dd>
     
     
      <dt><em>s</em> (<code class="literal">PCRE_DOTALL</code>)</dt>
      <dd>
       <span class="simpara">
        Con esta opción, el metacarácter punto (.)
        reemplaza cualquier carácter, incluyendo las nuevas
        líneas. Sin esta opción, el carácter punto no reemplaza
        las nuevas líneas. Esta opción es equivalente
        a la opción Perl /s. Una clase de caracteres
        negativa como [^a] aceptará siempre los
        caracteres de nuevas líneas, independientemente
        de esta opción.
       </span>
      </dd>
     
     
      <dt><em>x</em> (<code class="literal">PCRE_EXTENDED</code>)</dt>
      <dd>
       <span class="simpara">
        Con esta opción, los caracteres de espacio son
        ignorados, excepto cuando están escapados,
        o dentro de una clase de caracteres,
        y todos los caracteres entre # no escapados
        y fuera de una clase de caracteres, y el próximo
        carácter de nueva línea son ignorados. Es
        el equivalente Perl de la opción /x: permite añadir
        comentarios en los patrones complicados. Tenga en cuenta,
        sin embargo, que esto solo se aplica a los caracteres de
        datos. Los caracteres de espacio nunca deben
        aparecer en las secuencias especiales
        de un patrón, por ejemplo en la secuencia (?( que
        introduce un paréntesis condicional.
       </span>
      </dd>
     
     
      <dt><em>A</em> (<code class="literal">PCRE_ANCHORED</code>)</dt>
      <dd>
       <span class="simpara">
        Con esta opción, el patrón está anclado de forma forzada, es decir
        que el patrón debe aplicarse justo al inicio de la cadena sujeto
        para ser considerado encontrado. Es posible realizar el
        mismo efecto añadiendo los metacaracteres adecuados, lo cual es la
        única manera de hacerlo en Perl.
       </span>
      </dd>
     
     
      <dt><em>D</em> (<code class="literal">PCRE_DOLLAR_ENDONLY</code>)</dt>
      <dd>
       <span class="simpara">
        Con esta opción, el metacarácter $ solo será
        válido al final de la cadena sujeto. Sin
        esta opción, $ también es válido antes de una nueva línea,
        si esta última es el último carácter de
        la cadena. Esta opción es ignorada si la opción
        <em>m</em> está activada. No hay
        equivalente en Perl.
       </span>
      </dd>
     
     
      <dt><em>S</em></dt>
      <dd>
       <span class="simpara">
        Cuando un patrón se utiliza varias veces, vale la pena
        pasar unos instantes más para analizarlo
        y optimizar el código para acelerar los
        tratamientos posteriores. Esta opción fuerza este
        análisis más exhaustivo. Actualmente, este análisis
        solo es útil para los patrones no anclados, que
        no comienzan por un carácter fijo.
        Desde PHP 7.3.0, esta bandera ya no tiene efecto.
       </span>
      </dd>
     
     
      <dt><em>U</em> (<code class="literal">PCRE_UNGREEDY</code>)</dt>
      <dd>
       <span class="simpara">
        Esta opción invierte la tendencia a la gula de las
        expresiones regulares. También puede invertirse
        esta tendencia caso por caso con un <code class="literal">?</code> pero
        esto hará gula la secuencia. Esta opción no es compatible
        con Perl. También puede ponerse en el patrón con
        la opción <code class="literal">(?U)</code> en el
        <a href="regexp.reference.internal-options.php" class="link">patrón</a> o
        por un punto de interrogación antes del cuantificador (.e.g. <code class="literal">.*?</code>).
       </span>
       <blockquote class="note"><p><strong class="note">Nota</strong>: 
        <p class="para">
         No es generalmente posible hacer coincidir
         más que el límite de <a href="pcre.configuration.php#ini.pcre.backtrack-limit" class="link">pcre.backtrack_limit</a>
         caracteres en modo no gula.
        </p>
       </p></blockquote>
      </dd>
     
     
      <dt><em>X</em> (<code class="literal">PCRE_EXTRA</code>)</dt>
      <dd>
       <span class="simpara">
        Esta opción añade otras funcionalidades incompatibles
        con el PCRE de Perl. Todos los backslash seguidos de una letra que
        no tendría un significado particular causan un error,
        permitiendo la reserva de estas combinaciones para futuras
        funcionalidades. Por omisión, como en Perl, los
        backslash seguidos de una letra sin significado particular
        son tratados como valores literales. Actualmente,
        esta opción no activa otras funciones.
       </span>
      </dd>
     
     
      <dt><em>J</em> (<code class="literal">PCRE_INFO_JCHANGED</code>)</dt>
      <dd>
       <span class="simpara">
        La opción interna de configuración (?J) modifica la opción local <code class="literal">PCRE_DUPNAMES</code>.
        Permite la duplicación de nombres para los subpatrones.
        A partir de PHP 7.2.0 <code class="literal">J</code> también es soportado como modificador.
       </span>
      </dd>
     
     
      <dt><em>u</em> (<code class="literal">PCRE_UTF8</code>)</dt>
      <dd>
       <span class="simpara">
        Esta opción activa funcionalidades adicionales de PCRE que no son compatibles con Perl.
        La cadena de entrada y el patrón son tratados como cadenas UTF-8.
        Una cadena de entrada inválida tendrá como consecuencia una ausencia de coincidencia en las funciones preg_*.
        Un patrón inválido levantará un error de nivel E_WARNING.
        Las secuencias UTF-8 de cinco y seis octetos son consideradas inválidas.
       </span>
      </dd>
     
     
      <dt><em>n</em> (<code class="literal">PCRE_NO_AUTO_CAPTURE</code>)</dt>
      <dd>
       <span class="simpara">
        Este modificador hace que los grupos simples <code class="code">(xyz)</code> no sean capturantes.
        Solo los grupos nombrados como <code class="code">(?&lt;name&gt;xyz)</code> son capturantes.
        Esto afecta únicamente a los grupos capturantes, siempre es posible
        utilizar referencias de subpatrón numeradas, y el array de
        coincidencias contendrá siempre resultados numerados.
        Disponible a partir de PHP 8.2.0
       </span>
      </dd>
     
     
      <dt><em>r</em> (<code class="literal">PCRE2_EXTRA_CASELESS_RESTRICT</code>)</dt>
      <dd>
       <span class="simpara">
        Cuando <em>u</em> (<code class="literal">PCRE_UTF8</code>) y <em>i</em> (<code class="literal">PCRE_CASELESS</code>)
        están activos, este modificador impide la coincidencia entre los caracteres ASCII y no-ASCII.
       </span>
       <span class="simpara">
        Por ejemplo, <code class="code">preg_match(&#039;/\x{212A}/iu&#039;, &quot;K&quot;)</code> coincide con el símbolo Kelvin <code class="literal">K</code> (U+212A).
        Cuando <em>r</em> es utilizado (<code class="code">preg_match(&#039;/\x{212A}/iur&#039;, &quot;K&quot;)</code>, esto no coincide.
       </span>
       <span class="simpara">
        Disponible a partir de PHP 8.4.0.
       </span>
      </dd>
     
    </dl>
   </blockquote>
  </p>
</div>
<?php manual_footer($setup); ?>