看到这个 https://www.autoregex.xyz
突然想到,如果能让 AI 帮忙写正则,会是一件非常有意义的事情。
1
Donahue 2022-07-09 17:12:50 +08:00
很强
|
2
churchmice 2022-07-09 17:23:20 +08:00 4
基本是脱裤子放屁
|
3
woqujjfly 2022-07-09 17:26:25 +08:00
@churchmice 对头
|
4
kyuuseiryuu 2022-07-09 17:27:32 +08:00 via iPhone 3
你需要很懂正则才能教 ai 正则。
但当你很懂正则,你就不需要 ai 帮你写正则。 你要用正则帮你过滤数据?那不如直接教 ai 怎么识别数据…… |
5
Chell 2022-07-09 17:37:50 +08:00
用自然语言描述就会丧失精确性,CSS 也是一样,都让自然语言说完了为啥不直接用符号表达。。顶多适用于一些 toy projects
|
6
Jooooooooo 2022-07-09 17:38:54 +08:00
稍微用了下挺有意思, 收藏了
|
7
dreasky 2022-07-09 17:39:21 +08:00
直接用 AI 去匹配想要的字符串不就得了
|
8
SuperMild OP @kyuuseiryuu 如果有一个很懂正则的人教会 AI 呢?然后其他不熟悉正则的人就可以直接拿来用了。
|
9
crayygy 2022-07-09 17:53:36 +08:00
当你描述正则规则的时候,正则就已经写完了啊,剩下的就只是怎么优化和精简
|
10
licoycn 2022-07-09 17:59:55 +08:00
这方面 github copilot 还是可以,虽然有时候不是那么匹配~
|
11
kyuuseiryuu 2022-07-09 18:02:18 +08:00 via iPhone
@SuperMild ai 错了怎么排错呢?还得用的人懂
|
12
lovepplforever 2022-07-09 18:03:28 +08:00
用 copilot ,很强
|
13
SuperMild OP @kyuuseiryuu 验证正则,用单元测试比用人脑运算更合理吧,平时一般人如果不经常写正则,写完总得喂一些用例测试一下才放心。
|
14
Lykr 2022-07-09 19:32:05 +08:00
随便写了几个表达式, 还挺准确的
但是一些用来提取信息的正则感觉不好描述 |
15
fox0001 2022-07-09 19:47:04 +08:00 via Android
其实,如果不懂正则表达式,或者正则表达式太复杂而看不懂,是不是应该考虑使用其它更容易理解的方式去实现?主要考虑到日后需求变化,要改这个正则表达式。
|
16
future0906 2022-07-09 20:30:43 +08:00 1
本末倒置的一件事,本来正则就是一种 DSL 用来描述匹配过程的规则。如果自然语言能描述匹配过程的话,就没正则什么事了。
|
17
SuperMild OP @future0906 感觉很多人有这方面的误会。
不是用自然语言来描述匹配过程,而是 AI 根据自然语言猜测人类的意图,然后 AI 写正则。 有点类似于程序员根据 “用户用人类语言提的需求”,然后人类写正则。 是 AI 在一定程度上取代人类,而非用人类语言取代正则。 |
18
LeeReamond 2022-07-09 20:45:35 +08:00
可能有用,相当于百度青春版吧。。没用的地方是因为普适性差,如果遇到写不出的正则,那么大概率使用自然语言描述该有限状态机也是非常困难的事,恐怕得写一大堆说明,还得加几个例子。
|
19
andyJado 2022-07-09 20:55:37 +08:00
swift WWDC22 发布了人话版 Regex
值得一试! |
20
future0906 2022-07-09 21:00:36 +08:00
@SuperMild
没区别,正则描述的匹配过程,就是状态机。 所谓的: “ AI 根据自然语言猜测人类的意图,然后 AI 写正则”。这种想法多少有点 AI 文科的意思了。 正则本身的基础规则也很容易理解,麻烦的是不同正则引擎之间的拓展规则。有时间琢磨 AI 生成正则还不如像刚才说的另辟蹊径去处理字符串匹配。 |
21
yfugibr 2022-07-09 21:48:37 +08:00 via Android
感觉不太现实,你要通过喂数据让 AI 写个验证手机号(包括号段)的正则,那你就得把所有号段的数据都给一些,同时还要用某种方式让 AI 理解,某些数字每列出来的
|
22
yfugibr 2022-07-09 21:54:31 +08:00 via Android
@yfugibr #21 补:某些没列出来的数字组合是不合法
所以肯定不能直接喂数据,得告诉他规则(哪些号段可以有,后八位只用限制数字等等),但是有时间把这些规则捋清告诉他,你直接就用正则写出来了 |
23
akira 2022-07-09 22:08:50 +08:00
写个中国身份证的正则校验, 这样的估计还更简单点
|
24
dji38838c 2022-07-09 22:24:27 +08:00 1
|
25
tinybvjk 2022-07-09 23:04:18 +08:00 via iPhone
谢谢分享,很有趣的想法。
对于开发者来说,要想把正则表达式写好写对是一件非常困难的事情,一旦写不对还可能会造成巨大的损失。 但是现在的算法并不能准确理解人类的自然语言,也就不能准确转换。不过 AI 可以作为一种辅助工具,降低写正则的难度。还可以作为一种学习工具,学习正则的使用方法。 |
26
MMMMMMMMMMMMMMMM 2022-07-10 02:10:37 +08:00
copylot 写个注释有时候真能蹦出自己要的正则
|
27
lovestudykid 2022-07-10 05:33:07 +08:00 1
@dji38838c 这么多人只看标题的
|
28
skmO 2022-07-10 09:25:07 +08:00
很需要,很有用,每次都得查半天
|
29
herozzm 2022-07-10 12:03:57 +08:00
说清楚比自己写更难
|
30
PeacePeach 2022-07-10 16:04:54 +08:00
收藏了,好东西
|
31
kkocdko 2022-07-10 20:55:19 +08:00
现在有许多改良正则语法的项目,我觉得那些项目会更可靠,更实用。
|
32
weivi 2022-07-11 14:06:40 +08:00
有点意思,收藏了,感谢分享
|
33
zglzy 2022-07-12 11:01:53 +08:00 via Android
@kkocdko 比如这样的项目吗?:https://github.com/yoav-lavi/melody
|
34
devwolf 2022-07-12 16:27:03 +08:00
感谢安利,这个网站结合
|
35
devwolf 2022-07-12 16:30:44 +08:00 1
补充#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 也能快捷回复,没打完) |