图片缩略图

交互式正则表达式工具

version 3.0.0 (5.08 KB) by 斯蒂芬。
在显示所有REGEXP输出的交互式图形中开发和优化正则表达式。

1.4K下载

更新2021年5月7日

查看许可协议

这是一个简单的交互式工具,用于帮助开发正则表达式。它允许您以交互方式编写正则表达式,并在输入时看到REGEXP的输出更新。

该工具仅由一个m文件组成,它创建一个包含两个编辑框(用于解析字符串和正则表达式字符串)的图,并在图中显示所有REGEXP的输出(注意,列宽可以手动调整)。

这个函数可以以两种方式使用(以及这两种方式的任何组合):
1.通过直接在地物的编辑框中键入交互方式,或
2.通过调用与REGEXP本身完全相同的输入和选项的函数。

只需保持图形打开,以使用这两种操作模式的任意组合:这允许通过更改解析和正则表达式字符串来细化正则表达式,并更新作为函数输入提供的任何REGEXP选项。文本可以复制和粘贴到或从两个编辑框。如果需要,可以通过使用适当的输出说明符调用函数返回REGEXP的输出值(默认情况下没有函数输出)。

###保持简单###

这是FEX上最简单的交互式正则表达式工具:无高亮显示、无链接、无颜色、无按钮、无java代码、无文件解析、无需安装的应用程序、无需第三方依赖项……只需这一个M文件即可。IREGEXP有助于正则表达式的快速开发,特别是通过允许仅使用e键盘(使用tab键在编辑框之间切换),用于解析短文本。

###重要的###

MATLAB的UICONTROL文本编辑框不会随着您的输入而更新,因此我使用了一个小小的按键hack来尝试实现这一点。这种方法很容易混淆,因此为了确保解析正确的文本,您将需要正确地输入文本:根据MATLAB的UICONTROL文档,从编辑框中单击离开是保证这一点的唯一方法!

还要注意,在多行模式下,编辑框本身会从文本中删除尾随的换行符(不是我的代码!)。

# # # # # #的例子

省略号表示继续,不关闭图形窗口。

%使用默认的解析和正则表达式字符串调用:
> > iregexp ()
交互添加解析字符串'0_AAA111-BB22.CCCC3'。
交互添加正则表达式'([A-Z]+)'。
%……调用来设置一个新的解析字符串:
>>iregexp('0_aaa111-BB22.cccc3',[])
%…以交互方式将正则表达式更改为“([a-z]+)\d+”。
%…调用以允许不区分大小写的匹配:
> > iregexp([][],“ignorecase”)
%…以交互方式将正则表达式更改为“(?[A-Z]+)(?\d+”。
%…调用将选定的输出分配给某些变量:
>>[A,B,C,D]=iregexp([],[],'ignorecase','match','start','tokens','split')
A = {'aaa111', 'BB22', 'cccc3'}
B = [3,10,15]
C = {{' aaa ', ' 111 '},{“BB”、“22”},{“预备”,“3”}}
D = {' 0 _','-','.',''}

引用作为

斯蒂芬(2021)。交互式正则表达式工具(//www.tianjin-qmedu.com/matlabcentral/fileexchange/48930-interactive-regular-expression-tool),MATLAB中心文件交换