Bibliothèque: RegularExpressions dans MQL5 pour travailler avec des expressions régulières - page 4

 
leonerd #:

Je me demande s'il n'existe pas quelque chose de plus simple. Pas des réguliers, mais des masques réguliers (wildcard), comme c'est généralement accepté partout.

Par exemple, pour un filtre de caractères :

Je comprends que tout peut être fait avec des regulars, mais la syntaxe y est plus compliquée et c'est plus difficile pour l'utilisateur.

Écrivez vos propres filtres. Et les expressions régulières sont généralement acceptées.
 

@MetaQuotes Il serait bon que ce RegEx soit inclus dans la prochaine version de MT5. D'autres fonctions utiles seront l'analyse JSON et XML. Pour JSON, il y a SimdJSON qui est la bibliothèque la plus rapide optimisée pour le CPU, et seule l'équipe de développement de MT peut ajouter une telle fonctionnalité.

 

non compilé




 

Téléchargé la dernière version le 2022.10.27 14:07

Compilation :


Ne compile toujours pas.

//---

Veuillez mettre à jour le code.

 
Anatoli Kazharski #:

Téléchargement de la dernière version pour 2022.10.27 14:07

Build :


Toujours pas de compilation.

//---

Veuillez mettre à jour le code.

Essayez de télécharger les fichiers DynamicMatrix.mqh et Wrappers.mqh séparément à partir de https://www.mql5.com/fr/code/15242 et remplacez-les manuellement dans le répertoire "\MQL5\Include\Internal".

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

Essayez de télécharger les fichiers DynamicMatrix.mqh et Wrappers.mqh séparément à partir de https://www.mql5.com/fr/code/15242, puis remplacez-les manuellement dans le répertoire "\MQL5\Include\Internal\".

Cela a fonctionné. Je vous remercie !

Ce serait bien s'ils pouvaient corriger l'erreur de mise à jour des archives si les fichiers ont été modifiés.

 

@MetaQuotes Je me heurte à des conflits entre :

MQL5\Include\RegularExpressions\Regex.mqh

et...

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

et autres.

Ceci est important car d'autres bibliothèques non-regex utilisent les #includes MQL5 standards que j'ai listés et ne compileront pas lorsqu'ils sont utilisés en conjonction.

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

Le script sera compilé avec la #define commentée. Cependant, si vous décommentez la #define et que vous essayez de compiler le script, vous verrez quelque chose comme ce qui suit :

Je serais très reconnaissant pour une solution de contournement ou un correctif pour cela s'il vous plaît.

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

Je serais très reconnaissant pour une solution de contournement ou un correctif pour cela s'il vous plaît.

namespace REGULAR
{
  #include <RegularExpressions\Regex.mqh> // supprimer ces chaînes : #propriété stricte
}

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

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

Merci fxsaber,

J'avais bon espoir, mais je ne m'attendais pas à recevoir une réponse, surtout si rapidement.

Je suppose que vous voulez dire qu'il faut supprimer la propriété

#property strict

de tous les fichiers d'en-tête de regex ?

Avec mes meilleures salutations, ESB.

 
Earthy Stag beetle #property strict

de tous les fichiers d'en-tête de regex ?

C'est vrai.