交互式正则表达式工具

3.0.0版本(5.08 KB) por Stephen23
在交互式图形中开发和改进正则表达式,该图形显示REGEXP的所有输出。

1.6 k descargas

Actualizado2021年5月7日

版本licencia

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

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

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

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

保持简单

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

###重要###

MATLAB的UICONTROL文本编辑框不会随着你的输入而更新,所以我使用了一个小按键来尝试实现这一点。这个黑客确实很容易混淆,所以为了确保正确的文本被解析,你需要正确地输入文本:根据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”,“匹配”,“开始”,“令牌”,“分裂”)
A = {'aaa111', 'BB22', 'cccc3'}
B = [3,10,15]
C = {{'aaa','111'},{'BB','22'},{'cccc','3'}}
D = {'0_','-','.', "}

Citar科莫

Stephen23(2023)。交互式正则表达式工具(//www.tianjin-qmedu.com/matlabcentral/fileexchange/48930-interactive-regular-expression-tool), MATLAB中央文件交换。Recuperado

版本 Publicado Notas de la versión
3.0.0

*允许字符串类输入参数。
*改进漂亮打印局部功能。

2.1.1

*增加了zhuhe Liu建议的修复。

魅惑

*使用UITABLE简化代码(替换多个UICONTROL文本框)。

2.0.0.0之间

*重命名函数。
*尽量使HG2兼容(需要测试)。
简化输出参数的内部处理。

1.1.0.0

*在编辑框中显示输出(因为这些有滚动条)。
*输入字符串可以改变ParseString编辑框多行。

1.0.0.0