查看: 506|回复: 2
打印 上一主题 下一主题

[工具] 推荐一个最强大的正则测试工具Regex Hero,最强大,没有之一

[复制链接]
  • TA的每日心情
    擦汗
    2020-7-3 13:51
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    90

    主题

    277

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10032
    跳转到指定楼层
    1
    发表于 2021-3-31 20:07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 starmars 于 2021-4-1 02:10 编辑

    http://regexhero.net/

    既可以在线测试也可以下载软件线下自己测试。更重要的是,它用的是.NET的C#正则库制作的,可以说这个世界上最强大的正则实现库是微软的.NET,其他语言的实现,JavaScript,Python,Perl,Ruby,Java,PHP统统没有C#的强大。

    随便举一个例子,JavaScript不支持逆序环视(零宽度断言),其他语言虽支持逆序环视,但对逆序环视中的表达式能匹配的文本长度有限制:Python只支持匹配固定长度文本的表达式,而Java和PHP只支持匹配有限长度文本的表达式,而伟大的.NET则无任何限制! 一个正则表达式在号称所谓“强大”的编辑器EmEditor中可能报错因为它不认识,到了Regex Hero里就成了合法的正则表达式了!


    再举一例:小括号括起来的分组如果后面有* +这种量词,如果这个分组匹配上了很多次,只有.NET可以将这一个分组所有这些匹配全部轻易捕获到,而且他语言可能只能引用最后一个。

    再来最后一个:\b 匹配单词的边界,JavaScript,Python 2,Perl,Ruby,Java,PHP 可能只适用英文单词,而.NET还可以匹配中文字符边界!
  • TA的每日心情
    慵懒
    2021-8-25 10:07
  • 签到天数: 1227 天

    [LV.10]以坛为家III

    2

    主题

    1205

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    14615
    2
    发表于 2021-4-1 09:14:13 | 只看该作者
    感谢楼主推荐
    不过有个问题,即使 .net 的正则很强大,但普通用户怎么用呢?有没有现成的编辑器支持呀?不会只能自己用 .net 写程序才能用吧……

    另外推荐一个 https://regex101.com/ 测试正则也很不错,有几个引擎可选(可惜没有 .net 的),有详细的解释
  • TA的每日心情
    开心
    前天 18:05
  • 签到天数: 708 天

    [LV.9]以坛为家II

    28

    主题

    1178

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    27051
    3
    发表于 2021-4-1 13:28:22 | 只看该作者
    要是有基于此实现的文本处理器就好,楼主的例子似乎能解决我碰到的一个重要问题