Answers:
如何可视化正则表达式?
如果您更喜欢独立应用程序,则有kodos。最近,我一直在使用在线正则表达式可视化工具,例如http://debuggex.com或http://www.regexper.com/
OP并不一定要提供什么-但我认为这很重要,因此我将为Regex编辑器发布“ 建议书”吗?#549107-问Ubuntu:
这是我尝试使用的可视化正则表达式GUI工具visRegexTester.py
:
如果您键入并更改“ regex”字段,则它具有“实时预览”(“自动重新运行”)。否则,它就是那个单一文件。开始时有一个README注释-这是其中的摘录:
visRegexTester是一个小型Python / Tkinter GUI应用程序,可帮助编写正则表达式。使用python 2.7和3.2进行了测试。事实上,这仅是为了其他命令行程序的接口:它利用这样的事实,很多的Unix / GNU / Linux程序的用作终端(例如正则表达式处理器
grep
,sed
,perl
),有三个类似的命令行语法部分:(程序-角色)('REGEX')(文件名)
...请参阅其余部分。屏幕截图:
是的,text2re.com应该与您要查找的内容接近。给定源文本,您可以选择生成与任何给定文本匹配的正则表达式。该工具还生成用于少量语言的代码。
regex构建器UI(页面上的第2步)有点难以学习;请注意,将鼠标悬停在任何选项上都会说明您要匹配的对象:
我不太确定“可视地创建代码”是什么意思(您是指GUI工具吗?)。如果您像我一样,我发现无法使用复杂的正则表达式,除非我以结构化的方式对其进行布局,以便可以更好地直观地显示逻辑。
实际上,sed
它只是一种脚本语言,可以像其他语言一样进行布局。每行一个命令。这是我的意思的典型示例:sed正则表达式,显示结构化布局。
的一个非常方便的功能sed
是它的调试命令l
,它是一个简单的行转储,显示了模式空间,其中嵌入的换行符显示为\n
等。
问题sed
不仅仅在于正则表达式。它具有用于循环和条件测试的时髦命令集。这需要时间来习惯。。。我找到的最好的工具可以帮助我进行处理,sed
这很简单:我详细阅读了手册。简单的事情起作用;然后积累更大的经验来积累经验。
Perl regex具有一些有用的功能来帮助布局复杂的模式。例如。能够忽略表达式中的空白。(作为挑战,出于体验方面的考虑,我编写了一个sed
解析器来解析我的sed
代码以允许这样的空白... PS。由于经验,我现在不需要它了。 :)实际上,仅布置命令(每行一个)几乎与perl功能一样好。
帮助您的最佳工具是:体验。例如。解决此站点上的正则表达式问题是获得该体验的好方法...我觉得GUI工具并没有太大帮助,因为它们抑制了体验 ...
总之,最好的帮助工具是经验和结构化的布局,然后详细阅读手册。
我已经使用了很多“ experieince”这个词。..它的意思是准备正则表达式的行为(对于sed
,则是任何循环逻辑等)是关键因素。工具;不要为您编写正则表达式;他们只测试它,他们肯定不会处理sed的程序逻辑,因为那不是正则表达式。(而且您已经特别挑出了sed
)……他们可能提供的语法高亮对我没有多大帮助。括号匹配良好的编辑器非常方便(我使用emacs)。
emacs re-builder
,它一点都没有帮到我……没过第一天...所有显示给我的是emacs
,由于emacs是如何评估事物的,因此它需要额外的一两个反斜杠...通过C-x C-e
。评估您的正则表达式进行相同的测试。它不会为您编写表达式;您仍然需要编写它...然后就有emacs
了使用描述性词来编写正则表达式的系统。.(我认为冗长/类似英语的系统在COBOL中就已经消失了..但即使COBOL也不是完全消失, ..和担忧,您仍然需要编写它。