这是一个帮助开发正则表达式的简单交互式工具。它允许交互式地编写正则表达式,并在输入时查看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, 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.
兼容性con la versión de MATLAB
兼容平台
窗户 macOS LinuxEtiquetas
Agradecimientos
Inspirado运动:RegexpHelper,Rex:一个普通的正则表达式操作符概要生成器,编号转科学前缀,可定制的自然顺序排序,regexpBuilder,数字到序数字符串,数字到单词,regexpHelper,自然顺序行排序,自然顺序文件名排序
Descubra Live Editor
Cree脚本con código, salida y texto formateado en undocumentento ejecitable。