Bibliotecas: RegularExpressions na MQL5 para trabalhar com expressões regulares - página 4

 
leonerd #:

Gostaria de saber se há algo mais simples. Não regulares, mas máscaras regulares (curinga), pois isso é geralmente aceito em todos os lugares.

Por exemplo, para um filtro de caracteres:

Entendo que tudo pode ser feito com regulares, mas a sintaxe é mais complicada e é mais difícil para o usuário.

Escreva seus próprios filtros. E as expressões regulares são apenas as mais comuns.
 

@MetaQuotes Seria bom se esse RegEx pudesse ser incluído na próxima versão do MT5. Outros recursos úteis serão a análise de JSON e XML. Para JSON, existe o SimdJSON, que é a biblioteca mais rápida e otimizada para CPU, e somente a equipe de desenvolvimento do MT pode adicionar esse recurso.

 

não compilado




 

Baixei a versão mais recente em 2022.10.27 14:07

Compilação:


Ainda não está compilando.

//---

Por favor, atualize o código.

 
Anatoli Kazharski #:

Baixou a versão mais recente para 2022.10.27 14:07

Construir:


Ainda não está compilando.

//---

Por favor, atualize o código.

Tente fazer download dos arquivos DynamicMatrix.mqh e Wrappers.mqh separadamente em https://www.mql5.com/pt/code/15242 e, em seguida, substitua-os manualmente no diretório "\MQL5\Include\Internal\".

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

Tente fazer o download dos arquivos DynamicMatrix.mqh e Wrappers.mqh separadamente em https://www.mql5.com/pt/code/15242 e, em seguida, substitua-os manualmente no diretório "\MQL5\Include\Internal\".

Funcionou. Obrigado!

Seria bom se eles pudessem corrigir o erro de atualização dos arquivos se os arquivos fossem editados.

 

@MetaQuotes Estou enfrentando conflitos entre:

MQL5\Include\RegularExpressions\Regex.mqh

e...

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

e outros.

Isso é importante porque outras bibliotecas não-regex usam os #includes padrão da MQL5 que listei e não serão compilados quando usados em conjunto.

//#define REGEX_CLASH_INCLUDE
#ifdef  REGEX_CLASH_INCLUDE
#include <RegularExpressions\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!");
}

O script será compilado com a #define comentada. No entanto, se você descomentar a #define e tentar compilar o script, verá algo parecido com o que está abaixo:

Ficaria muito grato se houvesse uma solução alternativa ou uma correção para isso, por favor.

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

Ficaria muito grato se houvesse uma solução alternativa ou uma correção para isso, por favor.

namespace REGULAR
{
  #include <RegularExpressions\Regex.mqh> // excluir essas cadeias de caracteres: #property strict
}

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

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

Obrigado, fxsaber,

Embora eu estivesse esperançoso, não estava esperando uma resposta, especialmente tão rápida.

Presumo que você queira dizer remover a

#property strict

de todos os arquivos de cabeçalho regex?

Com meus melhores cumprimentos, ESB.

 
Earthy Stag beetle #property strict

de todos os arquivos de cabeçalho regex?

Certo.