Bibliotecas: RegularExpressions en MQL5 para trabajar con expresiones frecuentes - página 3

 

Hola, no compila.

'FormatLiterals' - declaración sin tipo TimeSpanFormat.mqh 772 8

'FormatLiterals' - declaración sin tipo TimeSpanFormat.mqh 773 8

variable estática sin resolver 'TimeSpanFormat::NegativeInvariantFormatLiterals' TimeSpanFormat.mqh 399 21

variable estática no resuelta 'TimeSpanFormat::PositiveInvariantFormatLiterals' TimeSpanFormat.mqh 401 21

expresión no booleana List.mqh 110 18

expresión no booleana Dictionary.mqh 231 18

expresión no booleana Dictionary.mqh 231 18

expresión no booleana Dictionary.mqh 231 18

expresión no booleana List.mqh 110 18

expresión no booleana List.mqh 110 18

expresión no booleana List.mqh 110 18

expresión no booleana List.mqh 110 18

expresión no booleana List.mqh 110 18

'Goto' - el puntero a este tipo de función aún no está soportado RegexInterpreter.mqh 644 18

Goto' - expresión constante requerida RegexInterpreter.mqh 644 18

'Onerep' - valor de caso ya utilizado RegexInterpreter.mqh 1156 18

expresión no booleana LinkedList.mqh 94 18

RightToLeft' - el puntero a este tipo de función aún no está soportado Regex.mqh 1092 29

RightToLeft' - falta la llamada a la función, se espera un paréntesis abierto Regex.mqh 1092 29

'&' - operación ilegal Regex.mqh 1092 27

'&' - falta llamada a función, se espera paréntesis abierto Regex.mqh 1092 27

11 error(es), 10 advertencia(s) 12 11


 
raiser1989:

Hola, no compila.

Los códigos se han actualizado
 
De nuevo, no se puede compilar.
 

Corregido, ahora no hay errores

Laconversión de tipos es ahora explícita.

 
Rashid Umarov:

Corregido.

Algo entre "arreglado" y "arruinado" ;)

 
Detalles
 
Rashid Umarov:
Detalles

¿Es posible incluir estos códigos en la entrega estándar del terminal? Por alguna razón esto todavía no está disponible.

 

Truncamiento del valor constante

 

Sería genial si StringFind(), StringReplace() y String Split() pudieran especificar regulares, además de algo como a ~= b

 

Me pregunto si hay algo más sencillo. No regulares, sino máscaras regulares (comodín), como se suele aceptar en todas partes.

Por ejemplo, para un filtro de caracteres:

*USD - все символы с USD во второй валюте пары.
!*USD - все символы, кроме тех, что выше
!EUR* - все символы, где базовая валюта не EUR
!EUR*,USD* - то что выше плюс символы с базовой валютой USD
!*USD,!*EUR,* ....
и тп.

Me doy cuenta de que todo se puede hacer con regulares, pero la sintaxis es más complicada y es más difícil para el usuario.