2 votos

Problema al utilizar la función Numbers Regex.Extract

Necesito ayuda con la siguiente fórmula REGEX.EXTRACT de Apple Numbers que no devuelve la palabra antes de un punto. A continuación se muestra la forma de texto de los argumentos pasados a la fórmula y la fórmula en sí, así como una captura de pantalla.

Pattern: \b\w+\b(?=\.)
String: 123. xpto.
Formula: REGEX.EXTRACT(“123. xpto.”, `\b\w+\b(?=\.)`,1)

why “123” not “xpto”

0voto

Program5284 Puntos 18

La expresión que ha proporcionado ( \b\w+\b(?=\.) ) coincide con cualquier palabra inmediatamente seguida de un punto en una cadena dada. En el ejemplo que ha proporcionado, la función Reg.Extract("123. xpto.", \b\w+\b(?=\.),1) debería devolver la palabra "xpto" porque sigue inmediatamente al punto en la cadena.

Si desea modificar la expresión regular para que también capture la palabra inmediatamente antes de el punto, puede utilizar una expresión ligeramente diferente: (\b\w+\b)\. (Aquí, los paréntesis alrededor de \b\w+\b crear un grupo de captura que incluya inmediatamente toda la palabra antes de el periodo).

Así que la función modificada quedaría así Reg.Extract("123. xpto.", "(\b\w+\b)\.", 1) . Debería devolver las palabras "123" y "xpto".

0voto

He encontrado las dos soluciones siguientes. Prefiero lookaround para fórmula más corta.

solution with and without look around

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X