正则表达式 – 使用或不使用正则表达式?

我只是问这个 question关于使用正则表达式来允许-90.0和90.0之间的数字。我得到了一些关于如何实现正则表达式的答案,但是大多数答案也提到,如果没有使用正则表达式或使用正则表达式,那将会更好地处理。那么,您如何决定何时使用正则表达式,何时不使用正则表达式。有没有可以跟踪的支票清单?
正则表达式是用于基于字符的测试的文本处理工具。更正式地,正则表达式善于处理常规语言,几乎任何其他方面都很糟糕。

在实践中,这意味着正则表达式不适合需要发现超出字符级别的文本中的意义(语义)的任务。这将需要一个完整的解析器。

在你特定的情况下:识别一个文本中的一个数字是正则表达式很好的练习(十进制数可以使用常规语言简单描述)。这在字符层面上起作用。

但是要做更多高级的东西,需要知道其数值(即其语义)的数字需要解释。正则表达式在这方面是坏的。所以在文本中找到一个数字很容易。在文本中找到大于11但小于1004(或可被3除尽)的文本很难:它需要识别该数字的含义。

相关文章
相关标签/搜索