我注意到关于何时使用正则表达式以及何时使用内置字符串函数(如 String.Replace() (.NET))的很多小争论。
似乎很多人建议在处理字符串时总是、总是、总是使用正则表达式(除了显示它们之外)。这真的是最佳实践还是只是我的错误印象?当问题只是“从文本中删除任何这些单词的出现”时,使用正则表达式似乎有点矫枉过正。
我想要输入,以便我可以改进自己的代码并更好地回答其他人有关字符串操作的问题(有很多)。
我认为当可以进行基于字符串的搜索/替换时,使用正则表达式作为包罗万象的解决方案是错误的印象。
正则表达式本质上是模式匹配的过程,当您要匹配的字符串类型可变或仅符合特定模式时,应使用正则表达式。对于简单的字符串搜索就足够的情况,我总是建议使用内置的方法String
class.
我从未见过任何性能统计数据表明基于正则表达式的查找比字符串索引更快或更高效。此外,正则表达式引擎的执行能力各不相同。
好像这还不够,很容易构建一个性能非常差的正则表达式(例如,使用大量回溯),因此如果您确实想使用正则表达式匹配来优化性能,则需要对正则表达式有深入的了解。另一方面,即使对于 n00b 来说,执行基于字符串的搜索或替换也非常简单。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)