gpt4 book ai didi

regex - 什么时候我应该更喜欢正则表达式而不是内置字符串函数?

转载 作者:行者123 更新时间:2023-12-04 01:25:23 24 4
gpt4 key购买 nike

有人说我应该尽可能使用正则表达式,其他人说我应该至少使用它。是否有类似“Perl 礼仪”之类的内容或只是 TIMTOWTDI?

最佳答案

我认为你已经得到的很多答案都很好。我想谈谈礼仪部分,因为我认为有一些。

总结:如果有健壮的解析器可用,就用它代替正则表达式; 100% 的时间。永远不要向新手推荐其他任何东西。所以-

不要

  • 不要拆分或匹配 CSV 的逗号,使用 Text::CSV/Text::CSV_XS .
  • 不要针对 HTML 或 XML 编写正则表达式,使用 XML::LibXML , XML::Twig , HTML::TreeBuilder , HTML::TokeParser::Simple ,等等。
  • 不要为无关紧要的事情编写正则表达式 splitunpack .

  • DOS
  • 请使用 substr , index , 和 rindex在适当的情况下,但要认识到它们可能会“不完美”,因此在基准测试表明它们优于正则表达式时最好使用它们;在许多情况下,正则表达式的速度可能出奇的快。
  • 当没有好的解析器可用并编写 Parse::RecDescent 时,请使用正则表达式语法是矫枉过正,工作量太大,或者会太慢。
  • 一定要对一次性代码使用正则表达式,比如在众所周知/可预测的数据上使用单行代码,包括以前禁止使用正则表达式的 HTML/CSV。
  • 请注意解决更大问题的替代方案,例如 P::RecD, Parse::Yapp , 和 Marpa .
  • 保持自己的议会 . Perl 应该很有趣。随心所欲;如果您在不遵循建议时提示并且它横盘整理,请准备好受到抨击。 :P
  • 关于regex - 什么时候我应该更喜欢正则表达式而不是内置字符串函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6281388/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com