gpt4 book ai didi

regex - 何时使用正则表达式与内置字符串方法?

转载 作者:行者123 更新时间:2023-12-04 07:00:55 25 4
gpt4 key购买 nike

我注意到很多关于何时使用正则表达式以及何时使用内置字符串函数(如 String.Replace() (.NET))的争论。

似乎很多人都建议在处理字符串时始终、始终、始终使用正则表达式(除了仅显示它们)。这真的是最佳实践还是只是我的错误印象?当问题只是“从文本中删除这些单词中的任何一个”时,使用正则表达式似乎有点过分。

我想要输入,这样我就可以改进我自己的代码并更好地回答其他人关于字符串操作的问题(有很多)。

最佳答案

我认为当基于字符串的搜索/替换是可能的时,使用正则表达式作为包罗万象的解决方案是一种错误的印象。

正则表达式本质上是一个模式匹配的过程,当您要匹配的字符串类型是可变的或仅符合特定模式时,应该使用正则表达式。对于简单的字符串搜索就足够的情况,我总是建议使用 String 的内置方法。类(class)。

我从未见过任何性能统计数据表明基于正则表达式的查找比字符串索引更快或更高效。此外,Regex 引擎的执行能力各不相同。

好像这还不够,很容易构建一个性能很差的正则表达式(例如,使用大量回溯),因此如果您真的想使用正则表达式匹配来优化性能,则需要对正则表达式有深入的了解。另一方面,即使对于 n00b 执行基于字符串的搜索或替换,也非常简单。

关于regex - 何时使用正则表达式与内置字符串方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1062572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com