在探索正则表达式(也称为RegEx-es)时,似乎有很多人似乎将正则表达式视为圣杯。看起来很复杂的东西-只是任何问题的答案。他们倾向于认为使用正则表达式可以解决每个问题。另一方面,也有很多人不惜一切代价避免使用正则表达式。他们试图找到一种围绕正则表达式的方法,并为此目的接受其他编码,即使正则表达式将是一个更紧凑的解决方案。为什么正则表达式被认为有争议?关于它们的工作原理是否存在广泛的误解?还是可以广泛相信正则表达式通常很慢?
3 回答
尚方宝剑之说
TA贡献1788条经验 获得超4个赞
我不认为人们反对正则表达式是因为它们很慢,而是因为它们很难读写,而且很难正确。虽然在某些情况下正则表达式可以为问题提供有效,紧凑的解决方案,但有时它们会纠缠于最好使用易读,可维护的代码部分的情况。
慕的地8271018
TA贡献1796条经验 获得超4个赞
我认识的几乎每个定期使用正则表达式(意为双关语)的人都来自Unix-ish背景,他们使用将RE视为一流编程结构的工具,例如grep,sed,awk和Perl。由于使用正则表达式几乎没有语法开销,因此使用它们时,它们的生产率会大大提高。
相反,使用RE作为外部库的语言的程序员往往不考虑正则表达式可以带给表什么。程序员的“时间成本”如此之高,以至于a)RE从未作为培训的一部分出现,或者b)他们不对RE进行“思考”,而是倾向于使用更熟悉的模式。
- 3 回答
- 0 关注
- 658 浏览
添加回答
举报
0/150
提交
取消