为了账号安全,请及时绑定邮箱和手机立即绑定

为什么正则表达式这么有争议?

为什么正则表达式这么有争议?

慕的地10843 2019-11-22 14:11:23
在探索正则表达式(也称为RegEx-es)时,似乎有很多人似乎将正则表达式视为圣杯。看起来很复杂的东西-只是任何问题的答案。他们倾向于认为使用正则表达式可以解决每个问题。另一方面,也有很多人不惜一切代价避免使用正则表达式。他们试图找到一种围绕正则表达式的方法,并为此目的接受其他编码,即使正则表达式将是一个更紧凑的解决方案。为什么正则表达式被认为有争议?关于它们的工作原理是否存在广泛的误解?还是可以广泛相信正则表达式通常很慢?
查看完整描述

3 回答

?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

我不认为人们反对正则表达式是因为它们很慢,而是因为它们很难读写,而且很难正确。虽然在某些情况下正则表达式可以为问题提供有效,紧凑的解决方案,但有时它们会纠缠于最好使用易读,可维护的代码部分的情况。


查看完整回答
反对 回复 2019-11-22
?
慕的地8271018

TA贡献1796条经验 获得超4个赞

我认识的几乎每个定期使用正则表达式(意为双关语)的人都来自Unix-ish背景,他们使用将RE视为一流编程结构的工具,例如grep,sed,awk和Perl。由于使用正则表达式几乎没有语法开销,因此使用它们时,它们的生产率会大大提高。

相反,使用RE作为外部库的语言的程序员往往不考虑正则表达式可以带给表什么。程序员的“时间成本”如此之高,以至于a)RE从未作为培训的一部分出现,或者b)他们不对RE进行“思考”,而是倾向于使用更熟悉的模式。


查看完整回答
反对 回复 2019-11-22
  • 3 回答
  • 0 关注
  • 618 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信