gpt4 book ai didi

.net - Regex.IsMatch 与 string.Contains

转载 作者:行者123 更新时间:2023-12-02 09:38:58 26 4
gpt4 key购买 nike

这两个等效表达式的速度/内存使用量是否有任何差异:

Regex.IsMatch(Message, "1000")

对比
Message.Contains("1000")

任何一种情况比另一种更好?

这个问题的背景如下:
我正在对包含 Regex 表达式的遗留代码进行一些更改,以查找一个字符串是否包含在另一个字符串中。作为遗留代码,我没有对其进行任何更改,并且在代码审查中有人建议 Regex.IsMatch 应替换为 string.Contains。所以我想知道这个改变是否值得。

最佳答案

对于简单案例 String.Contains会给你更好的性能,但 String.Contains不允许您进行复杂的模式匹配。使用 String.Contains对于非模式匹配场景(如您的示例中的场景),并在需要进行更复杂模式匹配的场景中使用正则表达式。

正则表达式有一定的相关开销(表达式解析、编译、执行等),这是像 String.Contains 这样的简单方法。根本没有这就是为什么String.Contains在像你这样的例子中将胜过正则表达式。

关于.net - Regex.IsMatch 与 string.Contains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2962670/

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