Bibliotheken: RegularExpressions in MQL5 für die Arbeit mit regulären Ausdrücken - Seite 4

 
leonerd #:

Ich frage mich, ob es etwas Einfacheres gibt. Nicht reguläre Masken, sondern reguläre Masken (Wildcard), wie sie allgemein überall akzeptiert werden.

Zum Beispiel für einen Zeichenfilter:

Ich verstehe, dass man alles mit regulären Zeichen machen kann, aber die Syntax ist da komplizierter und es ist schwieriger für den Benutzer.

Schreiben Sie Ihre eigenen Filter. Und reguläre Ausdrücke sind nur die üblichen.
 

@MetaQuotes Es wäre gut, wenn dieses RegEx in die nächste Version von MT5 aufgenommen werden könnte. Andere nützliche werden JSON und XML-Parsing sein. Für JSON gibt es SimdJSON, dass die fasted Bibliothek für CPU optimiert ist, und nur MT dev Team kann eine solche Funktion hinzufügen.

 

nicht kompiliert




 

Heruntergeladen die neueste Version am 2022.10.27 14:07

Gebaut:


Immer noch nicht kompiliert.

//---

Bitte aktualisieren Sie den Code.

 
Anatoli Kazharski #:

Heruntergeladen die neueste Version für 2022.10.27 14:07

Bauen:


Immer noch nicht kompiliert.

//---

Bitte aktualisieren Sie den Code.

Versuchen Sie, die Dateien DynamicMatrix.mqh und Wrappers.mqh separat von https://www.mql5.com/de/code/15242 herunterzuladen und sie dann manuell im Verzeichnis "\MQL5\Include\Internal\" zu ersetzen.

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

Versuchen Sie, die Dateien DynamicMatrix.mqh und Wrappers.mqh separat von https://www.mql5.com/de/code/15242 herunterzuladen , und ersetzen Sie sie dann manuell im Verzeichnis "\MQL5\Include\Internal\".

Das hat funktioniert. Ich danke Ihnen!

Es wäre schön, wenn sie den Fehler beheben könnten, dass die Archive aktualisiert werden, wenn Dateien bearbeitet wurden.

 

@MetaQuotes Ich stoße auf Konflikte zwischen:

MQL5\Include\RegularExpressions\Regex.mqh

und...

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

und andere.

Dies ist wichtig, weil andere Nicht-Regex-Bibliotheken die Standard-MQL5-#includes verwenden, die ich aufgelistet habe, und nicht kompiliert werden, wenn sie in Verbindung verwendet werden.

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

Das Skript wird kompiliert, wenn die #define auskommentiert sind. Wenn Sie jedoch die #define auskommentieren und versuchen, das Skript zu kompilieren, sehen Sie etwas wie das untenstehende:

Ich wäre sehr dankbar für einen Workaround oder einen Fix für dieses Problem.

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

Ich wäre sehr dankbar für einen Workaround oder eine Lösung für dieses Problem.

namespace REGULAR
{
  #include <RegularExpressions\Regex.mqh> // diese Zeichenfolgen löschen: #Eigenschaft 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!");
}
 

Danke fxsaber,

Ich hatte zwar Hoffnung, aber keine Antwort erwartet - schon gar nicht so schnell.

Ich nehme an, Sie meinen das Entfernen der

#property strict

Zeilen aus allen Regex-Header-Dateien zu entfernen?

Mit freundlichen Grüßen, ESB.

 
Earthy Stag beetle #Eigenschaft strict

Zeilen aus allen Regex-Header-Dateien zu entfernen?

Richtig.