寻找正则表达式语法图工具或网站

By simon at 2019-05-21 • 0人收藏 • 14人看过

我对阅读正则表达式还是一个新手,而且我发现它很难阅读。 我记得找到一个网站之前,将正则表达式转换成一个语法符号. 不过,我已经尝试了好几次,想再次找到它; 所以我越来越担心,这可能只是我的想象。

我想知道是否有人知道一个工具或网站,可以将正则表达式转换成语法图?

谢谢。

5 个回复 | 最后更新于 2019-05-21
2019-05-21   #1

看看这个石墨烯

2019-05-21   #2
2019-05-21   #3

你可能会感兴趣Http://regexplained.co.uk它将正则表达式转换为铁路路线图

2019-05-21   #4

Regexper

Reexper 是基于@ forbeslindesay's是分支的,所以在这里值得一提。

值得指出的是,(在撰写本文时)这两个语法图生成器稍有不同,但是它们的输出可能有很大的不同。 在 regeffer 看起来更简洁的地方,Regexplained 在我看来是冗长的,至少是多余的,最糟糕的是误导性的。 没有不尊重的意思。

举个例子:下列正则表达式匹配以逗号分隔的1-7中重复或非单位数值的比较。

([1-7]{1}) ,(? : [1-7]{1} ,) * (? : 1 | [ ^ 1-7,] | (? : [1-7]{2,})

语法关系图Regexper.com

语法关系图Regexplained.co.uk

在后者中,注意表达式的路径[1-7]{1}上面贴着"1次"的标签。

最好的情况下,这是多余的,但最坏的情况下,它可以误导读者相信表达式必须匹配两次,因为表达式必须通读一次,然后读者才能在技术上遵循循环路径(看:《铁路图解》中的"量词").

这里暗示您应该循环"1次"之后读出这个表情。

这种符号在表达式中很明显(? : [1-7]{1} ,) * 及(? : [1-7]{2,})也。

乍一看,Regexplained syntax感觉没错,尤其是对于一个(? : [1-7]{2,}),其中最初有意义的是看到"2 + 倍"的输出2,}. 事实上,有一段时间我更喜欢这种表示法。

但是从技术上来说,一个短语只能读一次之前循环路径。 因此,循环应该只出现"1 + 次",正如 Regexper 语法图中正确指示的那样。

出于这个原因,我更喜欢并推荐 regeffer。

2019-05-21   #5

与 Regexper 类似的是Debuggex: 除了铁路图,还有对正则表达式的实时评估。 支持 JS、 Python 和 PCRE 风格的 RE。 这是商业性的,但免费的免费驾驶计划可能就足够了。

还有Regulex(但是请注意,没有对样本文本进行测试)。

登录后方可回帖

Loading...