From fd90ba684d8dee74e0fd296015b79dcd3c088210 Mon Sep 17 00:00:00 2001 From: lacatoire Date: Tue, 8 Sep 2026 09:40:44 +0200 Subject: [PATCH] [Sync-En] pcre: expand the description of the ? meta-character --- reference/pcre/pattern.syntax.xml | 58 ++++++++++++++++++------------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/reference/pcre/pattern.syntax.xml b/reference/pcre/pattern.syntax.xml index 67ee8b8d9..fa559db3b 100644 --- a/reference/pcre/pattern.syntax.xml +++ b/reference/pcre/pattern.syntax.xml @@ -1,5 +1,5 @@ - + Sintaxis de patrones @@ -152,7 +152,17 @@ )fin de subpatrón - ?extiende el significado de (, también 0 o 1 cuantificador, también hace que los cuantificadores codiciosos sean perezosos (ver repetición) + ? + + 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 (. + Si se usa como cuantificador, es el cuantificador opcional (equivalente + a {0,1}). + También transforma los cuantificadores codiciosos en cuantificadores + perezosos + (ver repetición). + *cuantificador 0 o más @@ -219,8 +229,8 @@ - Las cadenas de PHP con comillas simples y dobles tienen 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 cadenas 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. @@ -618,7 +628,7 @@ Los nombres de propiedades representados por xx 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, \p{^Lu} + Perl, la negación puede especificarse incluyendo un circunflejo entre la llave de apertura y el nombre de la propiedad. Por ejemplo, \p{^Lu} es lo mismo que \P{Lu}. @@ -847,8 +857,8 @@ Por ejemplo, \p{Lu} siempre coincide solo con letras mayúsculas. - 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: @@ -860,11 +870,11 @@ - Aquellos que no son parte de un guión identificado se agrupan juntos como - Common. La lista actual de guiones es: + Aquellos que no son parte de un script identificado se agrupan juntos como + Common. La lista actual de scripts es: - Guiones admitidos + Scripts admitidos @@ -1018,8 +1028,8 @@
- La secuencia de escape \X 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 \X 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 . ya que coincidirá con un carácter compuesto, independientemente de cuántos caracteres individuales se utilicen realmente para renderizarlo. @@ -1104,7 +1114,7 @@ \C puede usarse para coincidir con un solo byte. Tiene sentido - en modo UTF-8 donde el punto completo coincide con el carácter completo que puede consistir en múltiples bytes. + en modo UTF-8 donde el punto coincide con el carácter completo, que puede constar de múltiples bytes. @@ -1191,7 +1201,7 @@ encerrados por [: y :] dentro de los corchetes de apertura y cierre. PCRE también soporta esta notación. Por ejemplo, [01[:alpha:]%] - 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: Clases de caracteres @@ -1488,7 +1498,7 @@ 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: @@ -1593,10 +1603,10 @@ con un signo de interrogación. En otras palabras, invierte el comportamiento por defecto. - Los cuantificadores seguidos de + son "poseídos". Consumen + Los cuantificadores seguidos de + son "posesivos". Consumen tantos caracteres como sea posible y no regresan para hacer coincidir el resto del patrón. Por lo tanto, .*abc coincide con "aabc" pero - .*+abc no porque .*+ consume toda la cadena. Los cuantificadores poseídos pueden usarse para acelerar el procesamiento. + .*+abc no porque .*+ consume toda la cadena. Los cuantificadores posesivos pueden usarse para acelerar el procesamiento. 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, @@ -1608,10 +1618,10 @@ linkend="reference.pcre.pattern.modifiers">opción PCRE_DOTALL 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 PCRE_DOTALL 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. 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 @@ -1668,7 +1678,7 @@ (a|(bc))\2 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 opción PCRE_EXTENDED está establecida, esto puede ser espacio en blanco. De lo contrario, se puede usar un comentario vacío. @@ -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 opción PCRE_EXTENDED - y para dividirlo en tres partes para facilitar la discusión): + linkend="reference.pcre.pattern.modifiers">opción PCRE_EXTENDED) + y para dividirlo en tres partes para facilitar la discusión: @@ -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 opción PCRE_EXTENDED está establecida para que el espacio en blanco se ignore): @@ -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.