您的位置:首页 > 编程开发 > 易语言

基于PCRE2的正则表达式模块支持Unicode

:651.197KB :2021-06-23 11:33:18

易语言基于PCRE2的正则表达式模块支持Unicode例子。
pcre2有三个库,libpcre2-8、libpcre2-16、libpcre2-32,分别支持 1字节代码单元(UTF-8)、2字节代码单元(UTF-16)、4字节代码单元(UTF-32)。
这三个库我都已经编译并且放入压缩包,模块也实现完全封装全部支持,在普通使用中我们只需要用到 libpcre2-8这个库,如果需要Unicode支持则需要用到libpcre2-16这个库而libpcre2-32为32位代码单元支持,模块也支持,根据需求使用选择库。
使用说明:
P_正则全局加载链接库:加载全局链接库(载入DLL)
P_正则编译表达式:编译一个表达式,如果成功返回表达式句柄
P_正则内容替换:进行匹配和替换
P_正则内容高级替换:进行匹配和替换,不同于内容替换的是这个功能允许使用 1 2这种类型的格式字符串传入,用以匹配 完整表达式捕获、第一个子表达式捕获、第二个子表达式捕获,同理支持最大99

假设表达式为:(d+)*(d+),文本内容为:“100*200”,此处的格式为:“1 => 2”,则最终替换返回的结果为:“100 => 200”

P_正则内容匹配:此功能用于判断某个文本是否与表达式匹配,匹配成功返回真,否则返回假
P_正则内容搜索:此函数通过已编译的表达式进行搜索内容,如果成功将返回一个搜索结果指针,如果启用全部搜索则返回一个搜索结果数组指针,如果无匹配返回0
。。。。。不一一叙述了,模块内有注释,不懂可以加下面的群
P_正则表达式类 封装于面向过程为类
P_正则表达式_便捷 与 P_正则表达式类 相同,但更加便捷操作

所有函数名称带W的表示支持 8/16/32 位字符单元模式(使用16位模式即可支持通常的Unicode),普通模式不支持宽文本的函数有备注。

Hook GetModuleFileNameW改写返回结果
图片简单加水印工具

同类资源