mirror of
https://github.com/php/doc-es.git
synced 2026-03-23 23:12:09 +01:00
242 lines
9.8 KiB
XML
242 lines
9.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- $Revision$ -->
|
||
<!-- EN-Revision: b5aa3464c8817645633dc4364e1ac2d7b92c5b3f Maintainer: PhilDaiguille Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
|
||
<article xml:id="reference.pcre.pattern.modifiers" xmlns="http://docbook.org/ns/docbook">
|
||
<title>Opciones de búsqueda</title>
|
||
<titleabbrev>Opciones disponibles para las expresiones regulares</titleabbrev>
|
||
<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.
|
||
</para>
|
||
<para>
|
||
<blockquote>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><emphasis>i</emphasis> (<literal>PCRE_CASELESS</literal>)</term>
|
||
<listitem>
|
||
<simpara>
|
||
Realiza una búsqueda insensible a mayúsculas o minúsculas.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>m</emphasis> (<literal>PCRE_MULTILINE</literal>)</term>
|
||
<listitem>
|
||
<simpara>
|
||
Por omisión, PCRE trata la cadena sujeto como una sola
|
||
línea (aunque esta cadena contenga retornos de carro).
|
||
El metacarácter "inicio de línea" (^) solo será
|
||
válido una vez, al inicio de la línea, y el
|
||
metacarácter "fin de línea" ($) solo será válido
|
||
al final de la cadena, o antes del retorno de carro
|
||
final (a menos que se active la opción <emphasis>D</emphasis>).
|
||
Es el mismo funcionamiento que en Perl.
|
||
</simpara>
|
||
<simpara>
|
||
Cuando esta opción está activada, "inicio de línea" y
|
||
"fin de línea" 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 "\n" en la cadena sujeto,
|
||
o si no hay ninguna ocurrencia de ^ o $ en el patrón, esta opción
|
||
no sirve de nada.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>s</emphasis> (<literal>PCRE_DOTALL</literal>)</term>
|
||
<listitem>
|
||
<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.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>x</emphasis> (<literal>PCRE_EXTENDED</literal>)</term>
|
||
<listitem>
|
||
<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.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>A</emphasis> (<literal>PCRE_ANCHORED</literal>)</term>
|
||
<listitem>
|
||
<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.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>D</emphasis> (<literal>PCRE_DOLLAR_ENDONLY</literal>)</term>
|
||
<listitem>
|
||
<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
|
||
<emphasis>m</emphasis> está activada. No hay
|
||
equivalente en Perl.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>S</emphasis></term>
|
||
<listitem>
|
||
<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.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>U</emphasis> (<literal>PCRE_UNGREEDY</literal>)</term>
|
||
<listitem>
|
||
<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 <literal>?</literal> 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 <literal>(?U)</literal> en el
|
||
<link linkend="regexp.reference.internal-options">patrón</link> o
|
||
por un punto de interrogación antes del cuantificador (.e.g. <literal>.*?</literal>).
|
||
</simpara>
|
||
<note>
|
||
<para>
|
||
No es generalmente posible hacer coincidir
|
||
más que el límite de <link
|
||
linkend="ini.pcre.backtrack-limit">pcre.backtrack_limit</link>
|
||
caracteres en modo no gula.
|
||
</para>
|
||
</note>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>X</emphasis> (<literal>PCRE_EXTRA</literal>)</term>
|
||
<listitem>
|
||
<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.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>J</emphasis> (<literal>PCRE_INFO_JCHANGED</literal>)</term>
|
||
<listitem>
|
||
<simpara>
|
||
La opción interna de configuración (?J) modifica la opción local <literal>PCRE_DUPNAMES</literal>.
|
||
Permite la duplicación de nombres para los subpatrones.
|
||
A partir de PHP 7.2.0 <literal>J</literal> también es soportado como modificador.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>u</emphasis> (<literal>PCRE_UTF8</literal>)</term>
|
||
<listitem>
|
||
<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 <constant>E_WARNING</constant>.
|
||
Las secuencias UTF-8 de cinco y seis octetos son consideradas inválidas.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>n</emphasis> (<literal>PCRE_NO_AUTO_CAPTURE</literal>)</term>
|
||
<listitem>
|
||
<simpara>
|
||
Este modificador hace que los grupos simples <code>(xyz)</code> no sean capturantes.
|
||
Solo los grupos nombrados como <code>(?<name>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
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><emphasis>r</emphasis> (<literal>PCRE2_EXTRA_CASELESS_RESTRICT</literal>)</term>
|
||
<listitem>
|
||
<simpara>
|
||
Cuando <emphasis>u</emphasis> (<literal>PCRE_UTF8</literal>) y <emphasis>i</emphasis> (<literal>PCRE_CASELESS</literal>)
|
||
están activos, este modificador impide la coincidencia entre los caracteres ASCII y no-ASCII.
|
||
</simpara>
|
||
<simpara>
|
||
Por ejemplo, <code>preg_match('/\x{212A}/iu', "K")</code> coincide con el símbolo Kelvin <literal>K</literal> (U+212A).
|
||
Cuando <emphasis>r</emphasis> es utilizado (<code>preg_match('/\x{212A}/iur', "K")</code>, esto no coincide.
|
||
</simpara>
|
||
<simpara>
|
||
Disponible a partir de PHP 8.4.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</blockquote>
|
||
</para>
|
||
</article>
|
||
|
||
<!-- Keep this comment at the end of the file
|
||
Local variables:
|
||
mode: sgml
|
||
sgml-omittag:t
|
||
sgml-shorttag:t
|
||
sgml-minimize-attributes:nil
|
||
sgml-always-quote-attributes:t
|
||
sgml-indent-step:1
|
||
sgml-indent-data:t
|
||
indent-tabs-mode:nil
|
||
sgml-parent-document:nil
|
||
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
||
sgml-exposed-tags:nil
|
||
sgml-local-catalogs:nil
|
||
sgml-local-ecat-files:nil
|
||
End:
|
||
vim600: syn=xml fen fdm=syntax fdl=2 si
|
||
vim: et tw=78 syn=sgml
|
||
vi: ts=1 sw=1
|
||
-->
|