SuperMild
5.49D

如果让 AI 帮忙写正则表达式

  •  
  •   SuperMild · Jul 9, 2022 · 6698 views
    This topic created in 1579 days ago, the information mentioned may be changed or developed.

    看到这个 https://www.autoregex.xyz

    突然想到,如果能让 AI 帮忙写正则,会是一件非常有意义的事情。

    Supplement 1  ·  Jul 9, 2022
    毕竟正则本来就不太适合人脑去处理,多数人在写正则时感到痛苦。另外可能 AI 帮忙写 CSS 也很有意义。
    35 replies  •  2022-07-12 16:30:44 +08:00
    Donahue
    Donahue
    Jul 9, 2022
    1
    很强
    churchmice
    churchmice
    Jul 9, 2022❤️4
    2
    基本是脱裤子放屁
    woqujjfly
    woqujjfly
    Jul 9, 2022
    3
    @churchmice 对头
    Chemist
    Chemist
    Jul 9, 2022 via iPhone❤️3
    4
    你需要很懂正则才能教 ai 正则。
    但当你很懂正则,你就不需要 ai 帮你写正则。
    你要用正则帮你过滤数据?那不如直接教 ai 怎么识别数据……
    Chell
    Chell
    Jul 9, 2022
    5
    用自然语言描述就会丧失精确性,CSS 也是一样,都让自然语言说完了为啥不直接用符号表达。。顶多适用于一些 toy projects
    Jooooooooo
    Jooooooooo
    Jul 9, 2022
    6
    稍微用了下挺有意思, 收藏了
    dreasky
    dreasky
    Jul 9, 2022
    7
    直接用 AI 去匹配想要的字符串不就得了
    SuperMild
    SuperMild
    OP
    Jul 9, 2022❤️3
    8
    @kyuuseiryuu 如果有一个很懂正则的人教会 AI 呢?然后其他不熟悉正则的人就可以直接拿来用了。
    crayygy
    crayygy
    Jul 9, 2022
    9
    当你描述正则规则的时候,正则就已经写完了啊,剩下的就只是怎么优化和精简
    licoycn
    licoycn
    Jul 9, 2022
    10
    这方面 github copilot 还是可以,虽然有时候不是那么匹配~
    Chemist
    Chemist
    Jul 9, 2022 via iPhone
    11
    @SuperMild ai 错了怎么排错呢?还得用的人懂
    lovepplforever
    lovepplforever
    Jul 9, 2022
    12
    用 copilot ,很强
    SuperMild
    SuperMild
    OP
    Jul 9, 2022
    13
    @kyuuseiryuu 验证正则,用单元测试比用人脑运算更合理吧,平时一般人如果不经常写正则,写完总得喂一些用例测试一下才放心。
    Lykr
    Lykr
    Jul 9, 2022
    14
    随便写了几个表达式, 还挺准确的

    但是一些用来提取信息的正则感觉不好描述
    fox0001
    fox0001
    Jul 9, 2022 via Android
    15
    其实,如果不懂正则表达式,或者正则表达式太复杂而看不懂,是不是应该考虑使用其它更容易理解的方式去实现?主要考虑到日后需求变化,要改这个正则表达式。
    future0906
    future0906
    Jul 9, 2022❤️1
    16
    本末倒置的一件事,本来正则就是一种 DSL 用来描述匹配过程的规则。如果自然语言能描述匹配过程的话,就没正则什么事了。
    SuperMild
    SuperMild
    OP
    Jul 9, 2022
    17
    @future0906 感觉很多人有这方面的误会。

    不是用自然语言来描述匹配过程,而是 AI 根据自然语言猜测人类的意图,然后 AI 写正则。

    有点类似于程序员根据 “用户用人类语言提的需求”,然后人类写正则。

    是 AI 在一定程度上取代人类,而非用人类语言取代正则。
    LeeReamond
    LeeReamond
    Jul 9, 2022
    18
    可能有用,相当于百度青春版吧。。没用的地方是因为普适性差,如果遇到写不出的正则,那么大概率使用自然语言描述该有限状态机也是非常困难的事,恐怕得写一大堆说明,还得加几个例子。
    andyJado
    andyJado
    Jul 9, 2022
    19
    swift WWDC22 发布了人话版 Regex

    值得一试!
    future0906
    future0906
    Jul 9, 2022
    20
    @SuperMild

    没区别,正则描述的匹配过程,就是状态机。
    所谓的: “ AI 根据自然语言猜测人类的意图,然后 AI 写正则”。这种想法多少有点 AI 文科的意思了。

    正则本身的基础规则也很容易理解,麻烦的是不同正则引擎之间的拓展规则。有时间琢磨 AI 生成正则还不如像刚才说的另辟蹊径去处理字符串匹配。
    yfugibr
    yfugibr
    Jul 9, 2022 via Android
    21
    感觉不太现实,你要通过喂数据让 AI 写个验证手机号(包括号段)的正则,那你就得把所有号段的数据都给一些,同时还要用某种方式让 AI 理解,某些数字每列出来的
    yfugibr
    yfugibr
    Jul 9, 2022 via Android
    22
    @yfugibr #21 补:某些没列出来的数字组合是不合法
    所以肯定不能直接喂数据,得告诉他规则(哪些号段可以有,后八位只用限制数字等等),但是有时间把这些规则捋清告诉他,你直接就用正则写出来了
    akira
    akira
    Jul 9, 2022
    23
    写个中国身份证的正则校验, 这样的估计还更简单点
    dji38838c
    dji38838c
    Jul 9, 2022❤️1
    24
    已经有了:
    AutoRegex: English to RegEx with Natural Language Processing
    https://www.autoregex.xyz/
    tinybvjk
    tinybvjk
    Jul 9, 2022 via iPhone
    25
    谢谢分享,很有趣的想法。

    对于开发者来说,要想把正则表达式写好写对是一件非常困难的事情,一旦写不对还可能会造成巨大的损失。

    但是现在的算法并不能准确理解人类的自然语言,也就不能准确转换。不过 AI 可以作为一种辅助工具,降低写正则的难度。还可以作为一种学习工具,学习正则的使用方法。
    MMMMMMMMMMMMMMMM
    MMMMMMMMMMMMMMMM
    Jul 10, 2022
    26
    copylot 写个注释有时候真能蹦出自己要的正则
    lovestudykid
    lovestudykid
    Jul 10, 2022❤️1
    27
    @dji38838c 这么多人只看标题的
    skmO
    skmO
    Jul 10, 2022
    28
    很需要,很有用,每次都得查半天
    herozzm
    herozzm
    Jul 10, 2022
    29
    说清楚比自己写更难
    PeacePeach
    PeacePeach
    Jul 10, 2022
    30
    收藏了,好东西
    kkocdko
    kkocdko
    Jul 10, 2022
    31
    现在有许多改良正则语法的项目,我觉得那些项目会更可靠,更实用。
    1sen
    1sen
    Jul 11, 2022
    32
    有点意思,收藏了,感谢分享
    zglzy
    zglzy
    Jul 12, 2022 via Android
    33
    @kkocdko 比如这样的项目吗?:https://github.com/yoav-lavi/melody
    devwolf
    devwolf
    Jul 12, 2022
    34
    感谢安利,这个网站结合
    devwolf
    devwolf
    Jul 12, 2022❤️1
    35
    补充#34 感谢安利,这个网站结合 https://regex101.com/ 与 https://deerchao.cn/tutorials/regex/regex.htm 对于我这种用到必看手册的正则菜鸟来说相当便利。比如我输入“nine digits or nine chinese characters” 能让我知道中文字符对应的正则是

    [\d]{9}|[\u4e00-\u9fa5]{9}


    ( orz 第一次知道 ctrl + enter 也能快捷回复,没打完)
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1438 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 259ms · UTC 18:21 · PVG 02:21 · LAX 10:21 · JFK 13:21
    ♥ Do have faith in what you're doing.