世界上为什么会有正则表达式这么反人类的玩意儿?

2019-03-04 16:36:08 +08:00
 snoopy1024

如果不是必须用,尽量不用这玩意儿… 学也不想学,学了后又忘得快。 今天有个需求要写正则,吐槽一下…

23539 次点击
所在节点    程序员
170 条回复
lhx2008
2019-03-04 17:36:19 +08:00
如果是结构化文档不需要正则,其实开发中用到的也不多吧
msg7086
2019-03-04 17:45:03 +08:00
正则应该是 Automata theory 的演化。这货还演化出了编译原理这玩意儿。所以没有正则的话,连编程语言也就一起没了。
annielong
2019-03-04 17:48:00 +08:00
写的时候真痛苦,用起来真香
masker
2019-03-04 17:48:22 +08:00
还行啊…基本的无非就几个元字符,再深一点就环视之类的
saulshao
2019-03-04 17:48:32 +08:00
正则表达式其实是提供给程序用的东西,并不是给人读的。
因此让你写你当然痛苦,写出一串正则表达式,跟你按照相同的逻辑写一大堆 if-else 消耗的精力是完全一致的。
只是读你自己写的结果,更加痛苦......
但是程序员不就是干这个的么?
0ZXYDDu796nVCFxq
2019-03-04 17:51:35 +08:00
我们最近有一项工作是把几千条正则重写
因为新引擎支持更高效的规则,部分正则用新规则,部分正则简化成原正则的超集
zhuangzhuang1988
2019-03-04 17:58:43 +08:00
因为 linux 的狗屁哲学 一切皆文本
而不是 windows 的 能结构化处理的结构化
ex: linux 一堆破 shell vs powershell
lihongjie0209
2019-03-04 18:03:02 +08:00
@zhuangzhuang1988 还真有人用 powershell 啊
tux
2019-03-04 18:05:32 +08:00
因为不搞复杂,码狗工资就不会这么高了,前辈们的一片苦心
tiaod
2019-03-04 18:06:59 +08:00
不用正则表达式用啥? if else 写一大串?
12101111
2019-03-04 18:07:19 +08:00
楼主要不看看 形式语言与自动机 ?
pkokp8
2019-03-04 18:09:00 +08:00
ifelse 不能增加你的工资
reg exp 也不行,但可以提高你的竞争力
turingcat
2019-03-04 18:11:41 +08:00
正则一时爽,维护火葬场!
kenX
2019-03-04 18:12:20 +08:00
分享一个正则工具
kenX
2019-03-04 18:12:38 +08:00
@kenX
分享一个正则工具,https://regexr.com/
zhuangzhuang1988
2019-03-04 18:13:07 +08:00
@lihongjie0209 对啊, 微软的宣传部门真应该以死谢罪,东西超前那么多
letianqiu
2019-03-04 18:16:58 +08:00
@msg7086 这么多回复只有你说到点上了。如果没有自动机理论的研究,现在应该还是 assembly 的天下。
fyyz
2019-03-04 18:20:10 +08:00
没人逼你用啊,你自己写代码解析字符串吧。
weixiangzhe
2019-03-04 18:20:29 +08:00
正则就是 读起来难 写还好
herozzm
2019-03-04 18:22:34 +08:00
这个是宝贝疙瘩

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/540910

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX