Librerie: RegularExpressions in MQL5 per lavorare con le espressioni regolari - pagina 4

 
leonerd #:

Mi chiedo se esista qualcosa di più semplice. Non regolari, ma maschere regolari (jolly), come è generalmente accettato ovunque.

Ad esempio, per un filtro di caratteri:

Capisco che si possa fare tutto con le regolari, ma la sintassi è più complicata ed è più difficile per l'utente.

Scrivete i vostri filtri. E le espressioni regolari sono solo generalmente accettate.
 

@MetaQuotes Sarebbe opportuno che questa RegEx fosse inclusa nella prossima versione di MT5. Altre utili saranno il parsing di JSON e XML. Per JSON c'è SimdJSON che è la libreria più veloce e ottimizzata per la CPU, e solo il team di sviluppo di MT può aggiungere questa funzionalità.

 

non compilato




 

Scaricata l'ultima versione il 2022.10.27 14:07

Compilazione:


Ancora non si compila.

//---

Aggiornare il codice.

 
Anatoli Kazharski #:

Scaricata l'ultima versione per 2022.10.27 14:07

Costruito:


Ancora non si compila.

//---

Aggiornare il codice.

Provare a scaricare i file DynamicMatrix.mqh e Wrappers.mqh separatamente da https://www.mql5.com/it/code/15242 e poi sostituirli manualmente nella directory "\MQL5\Include\Internal".

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

Provate a scaricare i file DynamicMatrix.mqh e Wrappers.mqh separatamente da https://www.mql5.com/it/code/15242, quindi sostituiteli manualmente nella directory "\MQL5\Include\Internal".

Ha funzionato. Grazie!

Sarebbe bello se potessero risolvere l'errore di aggiornamento degli archivi se i file vengono modificati.

 

@MetaQuotes Sto incontrando conflitti tra:

MQL5\Include\RegularExpressions\Regex.mqh

e...

MQL5Include\Internal\IComparable.mqh
MQL5Include\Generic\Interfaces\IComparable.mqh

e altri.

Questo è importante perché altre librerie non-regex usano gli #include standard di MQL5 che ho elencato e non compilano se usati insieme.

//#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!");
}

Lo script verrà compilato con le #define commentate. Tuttavia, se si decommenta la #define e si prova a compilare lo script, si vedrà qualcosa di simile a quanto riportato di seguito:

Vi sarei molto grato se poteste trovare una soluzione o un rimedio a questo problema.

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

Vi sarei molto grato se poteste trovare una soluzione o un rimedio a questo problema.

namespace REGULAR
{
  #include <RegularExpressions\Regex.mqh> // eliminare queste stringhe: #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!");
}
 

Grazie fxsaber,

Anche se ero fiducioso, non mi aspettavo una risposta, soprattutto così rapida.

Presumo che tu intenda rimuovere la

#property strict

da tutti i file header delle regex?

Con i miei migliori saluti, ESB.

 
Earthy Stag beetle #proprietà rigorosa

da tutti i file header delle regex?

Giusto.