Opened 12 years ago
Last modified 12 years ago
#1695 assigned defect
Error en TextMatch
| Reported by: | Pedro Gea | Owned by: | Jorge |
|---|---|---|---|
| Priority: | high | Milestone: | Mantainance |
| Component: | Text | Version: | 3.1 |
| Severity: | critical | Keywords: | |
| Cc: |
Description (last modified by )
Se encuentra un error inesperado al usar TextMatch con textos que contienen el carácter "[":
Real TextMatch("(RA", "(R*"); // -> 1
Real TextMatch("[RA", "[R*"); // -> 0
Change History (2)
comment:1 Changed 12 years ago by
| Owner: | changed from Víctor de Buen Remiro to Jorge |
|---|---|
| Status: | new → assigned |
comment:2 Changed 12 years ago by
| Description: | modified (diff) |
|---|
Note: See
TracTickets for help on using
tickets.

El cambio [4326] introdujo una implementación de TextMatch que admite coincidencia con cualquier caracter perteneciente aun conjunto de caracteres en la cadena patrón. Un conjunto de caracteres se delimita con los caracteres [ y ] en ese sentido tienen un significado especial en la cadena patrón.
Si queremos introducir el caracter explicito [ debemos escaparlo con el caracter \, por ejemplo:
Real TextMatch("[RA", "\[R*");Si en el conjunto dec caracteres aparece la secuencia x-y entonces se considera cualquier caracter entre x e y incluyendo ambos.
Ejemplo de expresiones que usan la secuencia [ ]:
Real TextMatch("abaaab", "[a-b]*") Real TextMatch("1234.2323", "[0-9]*.[0-9]*")Es cierto que esto debía estar documentado con el cambio. Vamos a incluirlo en la documentación de la función y estará disponible en la siguiente versión de TOL.