经过一些研究,我发现无法使用正则表达式解析递归结构(例如HTML或XML)。是否有可能全面列出我应该避免使用正则表达式的日常编码方案,因为使用正则表达式无法完成特定任务?我们说正则表达式引擎不是PCRE。

最佳答案

在以下情况下,请勿使用正则表达式:

  • 您要解析的语言不是regular language
  • ,当有专门为您要分析的数据而专门提供的解析器时。

  • 用正则表达式解析HTML和XML通常不是一个好主意,因为它们不是正则语言,而且因为已经存在可以为您解析它的库。

    再举一个例子,如果您需要检查整数是否在0-255范围内,那么使用语言的库函数将其解析为整数然后检查其数值,而不是尝试编写常规数,就更容易理解。与此范围相匹配的表达式。

    关于regex - 什么时候不应该使用正则表达式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7553722/

    10-12 17:58