Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 34 additions & 24 deletions reference/pcre/pattern.syntax.xml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b55141fe2d4f601e32555c33fb00e1f9225c4638 Maintainer: PhilDaiguille Status: ready -->
<!-- EN-Revision: c414a81646ee424d1814725f54ec86b9a8f6b434 Maintainer: PhilDaiguille Status: ready -->
<!-- splitted from ./en/functions/pcre.xml, last change in rev 1.2 -->
<chapter xml:id="reference.pcre.pattern.syntax" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Sintaxis de patrones</title>
Expand Down Expand Up @@ -152,7 +152,17 @@
<entry>)</entry><entry>fin de subpatrón</entry>
</row>
<row>
<entry>?</entry><entry>extiende el significado de (, también 0 o 1 cuantificador, también hace que los cuantificadores codiciosos sean perezosos (ver <link linkend="regexp.reference.repetition">repetición</link>)</entry>
<entry>?</entry>
<entry>
Introduce una construcción especial, como un grupo sin captura, un
subpatrón con nombre, una afirmación o un ajuste de opción, si se usa
como primer carácter después de <literal>(</literal>.
Si se usa como cuantificador, es el cuantificador opcional (equivalente
a <literal>{0,1}</literal>).
También transforma los cuantificadores codiciosos en cuantificadores
perezosos
(ver <link linkend="regexp.reference.repetition">repetición</link>).
</entry>
</row>
<row>
<entry>*</entry><entry>cuantificador 0 o más</entry>
Expand Down Expand Up @@ -219,8 +229,8 @@
</para>
<note>
<para>
Las cadenas de PHP con comillas simples y dobles <link
linkend="language.types.string.syntax">tienen</link> un significado especial de barra invertida. Por lo tanto, si \ debe coincidir con una expresión regular \\, entonces "\\\\" o '\\\\' debe usarse en el código PHP.
Las <link linkend="language.types.string.syntax">cadenas</link> de PHP con
comillas simples y dobles dan un significado especial a la barra invertida. Por lo tanto, si \ debe coincidir con una expresión regular \\, entonces "\\\\" o '\\\\' debe usarse en el código PHP.
</para>
</note>
<para>
Expand Down Expand Up @@ -618,7 +628,7 @@
Los nombres de propiedades representados por <literal>xx</literal> arriba están limitados
a las propiedades generales de categoría Unicode. Cada carácter tiene exactamente una
de estas propiedades, especificada por una abreviatura de dos letras. Para compatibilidad con
Perl, la negación puede especificarse incluyendo una circunflejo entre la llave de apertura y el nombre de la propiedad. Por ejemplo, <literal>\p{^Lu}</literal>
Perl, la negación puede especificarse incluyendo un circunflejo entre la llave de apertura y el nombre de la propiedad. Por ejemplo, <literal>\p{^Lu}</literal>
es lo mismo que <literal>\P{Lu}</literal>.
</para>
<para>
Expand Down Expand Up @@ -847,8 +857,8 @@
Por ejemplo, <literal>\p{Lu}</literal> siempre coincide solo con letras mayúsculas.
</para>
<para>
Los conjuntos de caracteres Unicode están definidos como pertenecientes a ciertos guiones. Un
carácter de uno de estos conjuntos puede coincidir usando un nombre de guión. Por
Los conjuntos de caracteres Unicode están definidos como pertenecientes a ciertos scripts. Un
carácter de uno de estos conjuntos puede coincidir usando un nombre de script. Por
ejemplo:
</para>
<itemizedlist>
Expand All @@ -860,11 +870,11 @@
</listitem>
</itemizedlist>
<para>
Aquellos que no son parte de un guión identificado se agrupan juntos como
<literal>Common</literal>. La lista actual de guiones es:
Aquellos que no son parte de un script identificado se agrupan juntos como
<literal>Common</literal>. La lista actual de scripts es:
</para>
<table>
<title>Guiones admitidos</title>
<title>Scripts admitidos</title>
<tgroup cols="5">
<tbody>
<row>
Expand Down Expand Up @@ -1018,8 +1028,8 @@
</tgroup>
</table>
<para>
La secuencia de escape <literal>\X</literal> coincide con un grupo de glifos extendidos de Unicode. Un grupo de glifos extendidos de Unicode es uno o más caracteres Unicode
que se combinan para formar un glifo. En efecto, esto puede considerarse como
La secuencia de escape <literal>\X</literal> coincide con un grupo de grafemas extendido de Unicode. Un grupo de grafemas extendido es uno o más caracteres Unicode
que se combinan para formar un solo glifo. En efecto, esto puede considerarse como
el equivalente de Unicode de <literal>.</literal> ya que coincidirá con un
carácter compuesto, independientemente de cuántos caracteres individuales se
utilicen realmente para renderizarlo.
Expand Down Expand Up @@ -1104,7 +1114,7 @@
</para>
<para>
<emphasis>\C</emphasis> puede usarse para coincidir con un solo byte. Tiene sentido
en <emphasis>modo UTF-8</emphasis> donde el punto completo coincide con el carácter completo que puede consistir en múltiples bytes.
en <emphasis>modo UTF-8</emphasis> donde el punto coincide con el carácter completo, que puede constar de múltiples bytes.
</para>
</section>

Expand Down Expand Up @@ -1191,7 +1201,7 @@
encerrados por <literal>[:</literal> y <literal>:]</literal> dentro
de los corchetes de apertura y cierre. PCRE también
soporta esta notación. Por ejemplo, <literal>[01[:alpha:]%]</literal>
coincide con "0", "1", cualquier carácter alfabético, o "%". Las clases de nombres soportadas son:
coincide con "0", "1", cualquier carácter alfabético, o "%". Los nombres de clase soportados son:
<table>
<title>Clases de caracteres</title>
<tgroup cols="2">
Expand Down Expand Up @@ -1488,7 +1498,7 @@
</para>
<para>
El cuantificador general de repetición especifica un número mínimo y máximo de coincidencias permitidas, dando los dos
números entre llaves (llaves), separados por una coma.
números entre llaves, separados por una coma.
Los números deben ser menores que 65536, y el primero debe ser
menor o igual al segundo. Por ejemplo:

Expand Down Expand Up @@ -1593,10 +1603,10 @@
con un signo de interrogación. En otras palabras, invierte el comportamiento por defecto.
</para>
<para>
Los cuantificadores seguidos de <literal>+</literal> son "poseídos". Consumen
Los cuantificadores seguidos de <literal>+</literal> son "posesivos". Consumen
tantos caracteres como sea posible y no regresan para hacer coincidir el resto del
patrón. Por lo tanto, <literal>.*abc</literal> coincide con "aabc" pero
<literal>.*+abc</literal> no porque <literal>.*+</literal> consume toda la cadena. Los cuantificadores poseídos pueden usarse para acelerar el procesamiento.
<literal>.*+abc</literal> no porque <literal>.*+</literal> consume toda la cadena. Los cuantificadores posesivos pueden usarse para acelerar el procesamiento.
</para>
<para>
Cuando un subpatrón entre paréntesis se cuantifica con un conteo de repetición mínimo que es mayor que 1 o con un máximo limitado,
Expand All @@ -1608,10 +1618,10 @@
linkend="reference.pcre.pattern.modifiers">opción PCRE_DOTALL</link> está establecida (equivalente a /s de Perl), lo que permite que el punto coincida con saltos de línea, entonces el patrón está implícitamente anclado,
porque lo que sigue se intentará contra cada posición de carácter en la cadena de sujeto, por lo que no tiene sentido volver a intentar la coincidencia general en cualquier posición después de la primera.
PCRE trata un patrón como si estuviera precedido por \A.
En casos donde se sabe que la cadena de sujeto no contiene saltos de línea, se obtiene una optimización estableciendo <link
En casos donde se sabe que la cadena de sujeto no contiene saltos de línea, vale la pena establecer <link
linkend="reference.pcre.pattern.modifiers">PCRE_DOTALL</link> cuando el patrón comienza con .* para
obtener esta optimización, o
alternativamente usando ^ para indicar el anclaje explícitamente.
alternativamente usar ^ para indicar el anclaje explícitamente.
</para>
<para>
Cuando un subpatrón de captura se repite, el valor capturado es la subcadena que coincidió con la iteración final. Por ejemplo, después de
Expand Down Expand Up @@ -1668,7 +1678,7 @@
<literal>(a|(bc))\2</literal>

siempre falla si comienza a coincidir con "a" en lugar de "bc".
Debido a que pueden haber hasta 99 referencias inversas, todos los dígitos
Debido a que puede haber hasta 99 referencias inversas, todos los dígitos
que siguen a la barra invertida se toman como parte de un número de referencia inversa potencial. Si el patrón continúa con un carácter de dígito,
entonces algún delimitador debe usarse para terminar la referencia inversa. Si la <link
linkend="reference.pcre.pattern.modifiers">opción PCRE_EXTENDED</link> está establecida, esto puede ser espacio en blanco. De lo contrario, se puede usar un comentario vacío.
Expand Down Expand Up @@ -1932,8 +1942,8 @@
condición se cumple si el subpatrón de captura de ese número ha coincidido anteriormente. Considere el siguiente patrón,
que contiene espacio en blanco no significativo para hacerlo
más legible (asumiendo la <link
linkend="reference.pcre.pattern.modifiers">opción PCRE_EXTENDED</link>
y para dividirlo en tres partes para facilitar la discusión):
linkend="reference.pcre.pattern.modifiers">opción PCRE_EXTENDED</link>)
y para dividirlo en tres partes para facilitar la discusión:
</para>
<informalexample>
<programlisting>
Expand Down Expand Up @@ -2025,7 +2035,7 @@ int(1)
de recursión, lo mejor que se puede hacer es usar un patrón
que coincide hasta una profundidad fija de anidamiento. No
es posible manejar una profundidad de anidamiento arbitraria. Perl 5.6 ha
proporcionado una instalación experimental que permite que las expresiones regulares sean recursivas (entre otras cosas). Se proporciona el elemento especial (?R) para el caso específico de recursión.
proporcionado una funcionalidad experimental que permite que las expresiones regulares sean recursivas (entre otras cosas). Se proporciona el elemento especial (?R) para el caso específico de recursión.
Este patrón PCRE resuelve el problema de los paréntesis (asumiendo
que la <link linkend="reference.pcre.pattern.modifiers">opción PCRE_EXTENDED</link> está establecida para que el espacio en blanco se
ignore):
Expand Down Expand Up @@ -2142,7 +2152,7 @@ int(1)
con el patrón anterior. El primero da un fallo casi
instantáneamente cuando se aplica a una línea completa de caracteres "a",
mientras que el segundo tarda un tiempo apreciable con cadenas
más largas que unas 20 caracteres.
más largas que unos 20 caracteres.
</para>
</section>
</chapter>
Expand Down