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

 
leonerd #:

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

Por ejemplo, para un filtro de caracteres:

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

Escribe tus propios filtros. Y las expresiones regulares son sólo las comunes.
 

@MetaQuotes Sería bueno que este RegEx se pudiera incluir en la próxima versión de MT5. Otros útiles serán JSON y XML parsing. Para JSON existe SimdJSON que es la libreria mas rapida optimizada para CPU, y solo el equipo de desarrollo de MT puede agregar tal caracteristica.

 

sin compilar




 

Descargada la última versión el 2022.10.27 14:07

Compilar:


Aún no compila.

//---

Por favor, actualice el código.

 
Anatoli Kazharski #:

Descargada la última versión para 2022.10.27 14:07

Construir:


Sigue sin compilar.

//---

Por favor, actualice el código.

Intente descargar los archivos DynamicMatrix.mqh y Wrappers.mqh por separado de https://www.mql5.com/es/code/15242 y, a continuación, reemplácelos manualmente en el directorio "\MQL5\Include\Internal\".

RegularExpressions на MQL5 для работы с регулярными выражениями
RegularExpressions на MQL5 для работы с регулярными выражениями
  • www.mql5.com
Регулярные выражения предоставляют формальный язык для быстрой и гибкой обработки текста. Каждое регулярное выражение является шаблоном(маской), для которого обработчик регулярных выражений пытается найти совпадения в исходном текстом. Шаблон состоит из односимвольных или многосимвольных литералов, операторов или конструкций.
 
Alexey Petrov #:

Intente descargar los archivos DynamicMatrix.mqh y Wrappers.mqh por separado de https://www.mql5.com/es/code/15242, y luego reemplácelos manualmente en el directorio "\MQL5\Include\Internal\".

Ha funcionado. Gracias.

Estaría bien que arreglaran el error de actualizar los archivos si se editan los archivos.

 

@MetaQuotes Estoy golpeando conflictos entre:

MQL5\Include\RegularExpressions\Regex.mqh

y...

MQL5\Include\Internal\IComparable.mqh
MQL5\Include\Generic\Interfaces\IComparable.mqh

y otros.

Esto es importante porque otras librerías no-regex usan los #includes MQL5 estándar que he listado y no compilarán cuando se usen conjuntamente.

//#define REGEX_CLASH_INCLUDE
#ifdef  REGEX_CLASH_INCLUDE
#include <ExpresionesRegulares\Regex.mqh>
#endif
#include <Generic\HashMap.mqh>
#include <Generic\Internal\DefaultEqualityComparer.mqh>
#include <Generic\Interfaces\IComparable.mqh>
#include <Generic\Internal\CompareFunction.mqh>


void OnStart()
{
   printf("Hello world!");
}

El script se compilará con la #define comentada. Sin embargo, si se descomenta el #define y tratar de construir la secuencia de comandos, verá algo como lo siguiente:

Estaría muy agradecido por una solución o una solución para esto por favor.

MetaQuotes
  • 2023.10.06
  • www.mql5.com
Trader's profile
 
Earthy Stag beetle #:

Estaría muy agradecido por una solución o una solución para esto por favor.

namespace REGULAR
{
  #include <RegularExpressions\Regex.mqh> // borrar estas cadenas: #propiedad estricta
}

#include <Generic\HashMap.mqh>
#include <Generic\Internal\DefaultEqualityComparer.mqh>
#include <Generic\Interfaces\IComparable.mqh>
#include <Generic\Internal\CompareFunction.mqh>

void OnStart()
{
   printf("Hello world!");
}
 

Gracias fxsaber,

Aunque tenía esperanzas, no esperaba una respuesta, y menos tan rápida.

Supongo que te refieres a eliminar la

#propiedad estricta

de todos los ficheros de cabecera regex.

Saludos cordiales, ESB.

 
Earthy Stag beetle #propiedad estricta

de todos los ficheros de cabecera regex.

Correcto.