我刚刚问了一个关于使用正则表达式允许数字介于-90.0和+90.0之间的问题.我得到了一些关于如何实现正则表达式的答案,但大多数答案还提到,如果不使用正则表达式或使用正则表达式会更好地处理它会有点过分.那么如何决定何时使用正则表达式以及何时不使用正则表达式.是否有可以遵循的检查清单?
Kon*_*lph 45
正则表达式是基于字符的测试的文本处理工具.更正式地说,正则表达式擅长处理常规语言,而且几乎对其他任何语言都不好.
实际上,这意味着正则表达式不适合需要在文本中发现超出角色级别的含义(语义)的任务.这需要一个完整的解析器.
你的具体情况:在文本识别号是一个锻炼的正则表达式是不错的(十进制数可以使用普通的语言来描述平凡).这适用于角色级别.
但与需要它的数值的知识数量做更多先进的东西值(即它的语义)要求解释.正则表达式很糟糕.因此,在文本中查找数字很容易.发现在文本大于11,但小于1004(或即被3整除)的数是硬:它需要识别意义的数目.