GOOGLE ADS

miércoles, 4 de mayo de 2022

Palabras coincidentes y palabras delimitadas por dos puntos parciales entre paréntesis (excluyendo paréntesis)

Estoy tratando de extraer símbolos bursátiles de un cuerpo de texto. Estos partidos generalmente vienen en las siguientes formas:

(<symbol>) => (VOO)
(<market>:<symbol>) => (NASDAQ:C)

En los casos de muestra que se muestran arriba, me gustaría hacer coincidir VOO y C, omitiendo todo lo demás. Esta expresión regular me lleva a la mitad del camino:

(?<=\()(.*?)(?=\))

Con esto, coincido con lo que está incluido entre paréntesis, pero la lógica que ignora el "ruido" NASDAQ:me elude. Me encantaría aprender a especificar condicionalmente este patrón/lógica.

¿Algunas ideas? ¡Gracias!


Solución del problema

Puedes usar

[A-Z]+(?=\))

Vea la demostración de expresiones regulares.

Detalles:


  • [A-Z]+- una o más letras ASCII mayúsculas

  • (?=\))- una anticipación positiva que coincide con una ubicación seguida inmediatamente por un )carácter.


Alternativamente, puede usar lo siguiente para capturar los valores en el Grupo 1:

\((?:[^():]*:)?([A-Z]+)\)

Vea esta demostración de expresiones regulares. Detalles:


  • \(- un (char

  • (?:[^():]*:)?- una secuencia opcional de cero o más caracteres que no sean (, )y :luego un :carácter

  • ([A-Z]+)- Grupo 1: una o más letras ASCII mayúsculas

  • \)- un )char.

No hay comentarios:

Publicar un comentario

Regla de Firestore para acceder a la generación de subcolección Permisos faltantes o insuficientes

Tengo problemas con las reglas de Firestore para permitir el acceso a algunos recursos en una subcolección. Tengo algunos requests document...