程序库: 用来处理正则表达式的MQL5 RegularExpressions

 

用来处理正则表达式的MQL5 RegularExpressions:

正则表达式提供了一种正式的语言来快速灵活地处理问题。每个正则表达式都是一个模式(面具),为此,正则表达式引擎试图寻找匹配的源文本。一个模式由一个或多个字符文字,操作符或架构组成。

若要使用程序库,要包括来自您代码库"\MQL5\Include\RegularExpressions\"目录的Regex.mqh文件。

同时作为测试用例服务的程序库还提供几个说明性的示例。所有样例都来自 Microsoft Corporation官方网站,它们生动地展示了C#正则表达式和在MQL5使用特点之间的主要区别。

使用MQL5 RegularExpressions的示例:

在EA 中创建简单的图形界面来展示这些功能:

作者: MetaQuotes Software Corp.

 

在 Tests.mq5 中发现一个错误:

2016.05.20 16:08:58.128 Tests (GAZR-6.16,D1) 'RegexFCD.mqh' (87,20) 中的无效指针 访问

完整日志附后。若要重现,请附加 EA,点击运行 "RegexOptions",然后点击 "RegexReplace"。

附加的文件:
 
源代码链接已损坏
 
酷。它基本上就是 MQL6!不同的 扩展语法和新功能。
 
Vasiliy Sokolov:
酷。它基本上就是 MQL6!不同的 扩展语法和新功能。

Vasily,它酷在哪里?
按照你的说法,MQL5 将退化为 .NET 6:

真正的作者:

微软公司。源代码取自.Net Framework 4.6.1


那么交易呢?为什么要用同一个 MQL 来解析 MQL 所做的报告?

 
Event:

瓦西里,这有什么酷的?

下午好。您可以在 "新手问题 " 专题中提问。谢谢。
 

编译错误:

#include <Internal\Generic\List.mqh>
//+------------------------------------------------------------------+
//| 脚本程序启动功能|
//+------------------------------------------------------------------+
void OnStart()
{
   List<int> list(10);
}
'IComparer' - declaration without type  List.mqh        407     28

必须在 List.mqh 中添加一个包含项:

#include <Internal\Generic\IComparer.mqh>
 
Event:


那么交易呢?为什么要用同一个 MQL 来解析 MQL 生成的报告?

首先,本示例解析的是交易报告,由终端从上下文菜单中生成。

其次,正则表达式有助于解决解析各种报告的大量任务。为特定格式编写正则表达式要比编写完整的文本解析程序容易得多。

 
Rashid Umarov:

首先,示例介绍了终端通过上下文菜单生成的贸易报告

其次,正则表达式有助于解决解析各类报告的大量任务。为特定格式编写正则表达式比编写完整的文本解析程序要容易得多。

有了这个例子,一切就都清楚了。
我的文章与瓦西里-索科洛夫 对酷的狂热有关。
显然,他在前几天遇到了正则表达式。

 
Vasiliy Sokolov:
下午好。您可以在 "新手问题 " 专题中提问。谢谢。
晚上好。也许你不会告诉我在哪里提问?请吧。
 

感谢您提供这些 mt5 文件