Regex Match Tracer是一款专业的正则表达式测试软件。最好用的正则表达式测试工具莫过于这款Regex Match Tracer。该应用程序主要用于编程和测试。该程序小巧紧凑。用户可以导入模板库以在使用过程中进行编写,从而可以大大提高用户的工作效率。该程序还为用户提供DEELX常规引擎。这个功能都是用模板模板编写的,DEELX可以用于char,这是非常强大的。与其他编辑器一样,该程序支持使用括号来包含其他表达式,这些表达式可以使所包含的表达式成为一个整体并进行修改。匹配次数可以整体修改;该程序还具有很多功能,小编将在下面详细介绍它们;功能强大且实用,需要下载的用户可以体验。
使用说明:
从右到左(RIGHTTOLEFT)匹配模式
DEELX支持从右到左的匹配模式,该模式使表达式可以从文本末尾查找匹配项。在表达式中,右边的表达式比左边的表达式先匹配。编写用于从右到左模式的表达式与正常情况下使用的表达式没有什么不同。匹配的修饰符(*,+,{n},…)的数量仍位于修饰部分的右侧; ^仍与文本开头匹配;正向预搜索(?= Xxx)仍在向右搜索,而不是向左搜索;组编号仍然从左到右编号;等等。
应该注意的是,当使用“从右到左”模式时,右边的表达式将被匹配。
t。此时,如果使用向后引用,则引用的组应在右侧。
例如:
递归匹配没有此限制。无论是否为“从右到左”模式,都可以使用以下两种书写方式:
反向预搜索(反向零宽度断言)
“反向预搜索”是指在匹配过程中,当前位置左侧的文本必须满足特定条件,格式为(?<= Xxx)或(?
Perl,Java,GRETA和DEELX的详细信息与反向预搜索中包含的表达式不同:
预DEELX反向预搜索:
DEELX使用RIGHTTOLEFT模式来匹配反向预搜索中的表达式。使反向预搜索在逻辑上与正向预搜索相同,但方向相反。因此,在DEELX中,反向预搜索与正向预搜索具有相同的长度限制。
例如,在DEELX引擎中:
容易移植
DEELX全部使用模板库编写,因此没有cpp或lib文件。整个代码在头文件(deelx.h)中。使用时,无需为DEELX创建项目,也无需添加任何cpp或静态库lib文件。它还在运行时不依赖于专门的动态库。
使用DEELX常规引擎时,只需添加一个include:
为deelx.h直接包含在您的项目中,所以Runtime Library与主项目不会有任何问题,也无需担心连接错误。
兼容性
DEELX用纯C ++代码编写,而不使用任何STL或MFC类。 DEELX已经过测试,可以在以下编译器和操作系统上进行编译:
我们尚未在其他平台和其他编译器上对其进行测试。
如果您在其他编译器或其他系统下编译成功或失败,则可以通过regexlab@gmail.com告诉我们,我们将非常感谢。
命名组
DEELX支持Python和.NET样式的命名组。命名组以.NET样式编号。 DEELX支持以下格式的命名组:
成功匹配成功后,您可以通过命名组来获取组捕获的内容。
DEELX允许多个命名组具有相同的名称。在这种情况下,他们捕获的内容将放在相同的组号下。从逻辑上讲,它们是相同的分组,例如:(?“。*?”)| (?'。*?')。如果两个具有相同名称的命名组之间存在包含关系,则不会捕获包含的组,例如:(?(?(?\ D +)\。?)。
此外,与命名分组相关的功能是:反向引用,递归表达式,条件表达式和替换操作。
条件表达式
条件表达式是根据条件是否为真来选择2个可选表达式之一。条件表达式中可以使用两种类型的条件:
指定是否已捕获组。
是否文本中的当前位置是否可以匹配指定的表达式。
条件表达式的示例和说明:
补充说明:
如果达式处于RIGHTTOLEFT模式,则(?(Xxx)aa | bbb)与(?(?<= Xxx)aa | bbb)相同。
如果条件表达式只有一个选项,则当条件为true时,此选项将匹配。
如果有两个以上选项用“ |”分隔在条件表达式中,只有第一个“ |”被视为条件表达式选项分隔符。例如:(?(?= Xxx)yes | no1 | no2),当条件为true时,它匹配yes部分,否则匹配“ no1 | no2”。
递归表达式
“递归表达式”是对子表达式本身另一部分的引用,而不是对其匹配结果的引用。例如:
如果引用的表达式包含自身,则它构成递归引用。例如:
的递归表达式的格式为:
防止无限循环
可以匹配零长度子表达式。如果修改它们以使其在修改时匹配任意次数,则在许多常规引擎中很容易发生无限循环。为此,DEELX已采取技术措施来防止无限循环的出现。
例如,容易出现无限循环的表达式:
DEELX匹配模式
DEELX支持六种匹配模式:IgnoreCase,单行,多行,全局,RightToLeft,扩展及其组合。
描述
遗忘症
忽略匹配时忽略大小写。正则表达式默认情况下区分大小写。无论是否指定了不区分大小写的模式,字符类(例如[A-Z])都是区分大小写的。
单线
使小数点为“。”匹配任何字符,包括换行符(\ n)。默认情况下,小数点仅匹配除换行符以外的任何字符,而不匹配换行符。
多线
例如,^符号可以匹配字符串的开头和换行符(\ n)之后的位置; $符号可以匹配字符串末尾之前的位置和换行符之前的位置。默认情况下,^符号只能匹配字符串的开头,而$符号只能匹配字符串的结尾。
SINGLELINE和MULTILINE虽然听起来很矛盾,但它们在不同的地方起作用。因此它们可以结合使用。
指定指定MULTILINE之后,如果只想匹配字符串的开始和结束位置,则可以使用\ A和\Z。
全球
例如,\ G可用于匹配当前匹配项的开始位置。对于连续比赛,最后一场比赛的结束位置。 \ G默认情况下不起作用。
当DEELX执行替换操作时,无论是否指定GLOBAL模式,DEELX都可以执行所有替换。是否指定GLOBAL模式仅适用于\G。如果您希望替换数量有限,则可以在替换操作期间指定替换数量。
右到左
匹配从右到左匹配。从匹配字符串的末尾搜索和匹配。同时,首先匹配表达式右侧的表达式。
表达式仍然照常编写:match修饰符(*,+,{n},...)仍位于修改部分的右侧,而不是左侧; ^仍然匹配文本的开头,而不是文本的结尾; ? = xxx)仍在搜索中(向右搜索),而不是向左搜索;组号仍从左到右编号;等等。
无论整个表达式是否指定RightToLeft模式,“反向预搜索(反向零宽度断言)”中的表达式始终使用RightToLeft模式。
扩展的
使DEELX忽略表达式中的空格字符,并将从#到行尾的内容视为注释。默认情况下,正则表达式中的字符(例如空格,换行符等)将与相应的字符匹配。指定
在扩展模式下,如果要在正则表达式中表示空格字符(例如空格),则应使用\ x20,如果要在表达式中表示#个符号,则应使用\#。
无论是否指定了EXTENDED模式,方括号都以a开头? #符号(例如(?#Xxx)),括号和内容始终作为注释忽略。
软件功能:
DEELX支持与Perl兼容的正则表达式基本语法。基本语法规则在不同的常规引擎中基本相同。
普通字符
在以下各章中未特别定义的字母,数字,汉字,下划线和标点符号均为“常见字符”。
简单的转义字符
一些不方便的字符,以及在以下各章中特别定义的符号,都在前面加上“ \”。
义转义符(\ Q ... \ E)
以\ Q开头并以\ E结尾会使中间的标点符号失去常规语法定义的特殊含义。
角色收集
的,可以与“多个字符”中的任何一个匹配的表示形式。
自定义角色集合
使用方括号[]自定义表示形式以匹配“多个字符”中的任何一个。
比赛预选赛
重复进行另一个子表达式匹配。
角色边界
自身不匹配任何字符,但是在字符边界上设置条件。
选择表达
使用“ |”分隔多个表达式,您可以匹配其中的任何一个。
分组
使用括号()中的表达式,可以分别获取匹配的文本。
命名组
命名组。可以仅通过名称获得该组的匹配结果。
回参考
在匹配过程中,将参考组的匹配结果。
软件特色:
支持Perl兼容的正则表达式语法。
支持常见的匹配模式,例如IGNORECASE,SINGLELINE,MULTILINE。
强大的兼容性,可以在大多数C ++环境中进行编译,例如vc6,vc7,vc8,gcc,Turbo C ++。
支持许多高级功能,例如命名分组,条件表达式,递归表达式。
与GRETA和boost相比,DEELX是独一无二的:
使用模板库完全编写,支持char,wchar_t,int等和其他基本类型版本。
整个代码位于头文件(.h)中,该文件比任何引擎都更简单和易于使用。
支持从右到左的匹配模式,您可以从文本末尾开始搜索匹配项。
可以防止零长度子匹配循环的无限循环。
安装步骤:
1.浏览到这一点,需要它的用户可以通过单击本网站上提供的下载路径来下载相应的程序安装包。
2.通过解压缩功能打开压缩包,找到主程序,双击要安装的主程序,然后单击下一步按钮。
3.用户可以根据需要单击浏览按钮更改应用程序的安装路径。
4.现在,您可以安装主程序了。单击“安装”按钮开始安装,或单击“后退”按钮重新输入安装信息。
5.根据提示单击“安装”,弹出程序安装完成界面,单击“完成”按钮
6.安装应用程序后,双击程序快捷方式以打开程序