【发布时间】:2026-02-14 06:25:05
【问题描述】:
正则表达式非常不可读且难以调试。是否存在任何可以由普通人处理的文本处理的替代品?
标准包括
是库还是工具(请将答案指向库本身)
人类可读的语法(无需备忘单)
示例文档
能够调试表达式
如果可能,您能否提及特定语言和独立于语言的解决方案。我主要在 Python 上进行开发,但我希望看到一个可以移植到其他语言/平台的库。
我曾经读到 Haskell 有很好的文本处理能力,但同样,这是一种内置的语言解决方案,而不是通用的解决方案。
编辑:请不要回答“正则表达式还不错,就这样吧!” *.com 不是发表主观意见的地方,但我认为正则表达式不好,我想看看我使用它们的替代选项。
【问题讨论】:
-
请参阅programmers.stackexchange.com/questions/75905/…,了解如果“人类可读语法”位被采用得太远,为什么这可能是一个坏主意。至于文档,有大量关于“常用”正则表达式的文档,即使您认为是这样,您也不需要重新发明技术来编写“更好”的文档。至于调试,有有工具可以解决这个问题,举一些例子来说明你的意思。
-
我寻求替代品,而不是增强我现有的 reg exp 经验
-
什么的最佳解决方案?正则表达式很少是问题的最佳解决方案,但当它们是时,它们就是。如果没有人为这组问题发明了更好的东西,也许真的没有改进的余地?
-
我是人,我能读懂正则表达式。正则表达式不是不可读的;只有写得不好的正则表达式才是。 (提示:r"break" + r"the" + r"expression" 分开并逐行注释,就像你对任何其他复杂代码块一样。)
-
致一些在这里评论“吹嘘”他们如何享受正则表达式的人。你在编写和阅读正则表达式方面获得的熟练程度或练习它的乐趣并不意味着数以百万计的开发人员,更不用说新开发人员,应该使用他们的晦涩语法,它不适合算法构造和操作,并且因其古怪和臭名昭著而臭名昭著。对什么构成词和什么不构成词的封闭式方法。现在是时候继续研究算法、工程设计和可用性设计可以提供的更好的东西了。是的,我也读过正则表达式:)
标签: python regex text full-text-search