这个问题是关于PHP性能的,但如果您愿意,也可以扩展到任何语言。
经过多年使用PHP并比较字符串的经验,我发现在性能方面,使用字符串比较运算符优于正则表达式。
我完全理解某些操作必须通过正则表达式来完成,因为它们太复杂了。但对于可以通过正则表达式和字符串函数解决的操作。
以这个例子为例:
PHP
preg_match('/^[a-z]*$/','thisisallalpha');
C#
new Regex("^[a-z]*$").IsMatch('thisisallalpha');
可以轻松地使用PHP实现。
ctype_alpha('thisisallalpha');
C#
VFPToolkit.Strings.IsAlpha('thisisallalpha');
还有许多其他例子,但你应该明白我试图表达的观点。
在字符串比较中,你应该尝试并倾向于哪个版本?为什么?