如何测试替换字符串是否需要是正则表达式?

本文关键字:是否 正则表达式 字符串 替换 何测试 测试 | 更新日期: 2023-09-27 18:11:36

我搜索了…和搜索……我不是说我可以测试一个正则表达式是否有效,我想测试一个replacement字符串是否需要在正则表达式中使用。替换或是一个简单的字符串。替换会给我相同的结果,只是更快。

ie。对于给定的字符串replacement,我是否需要使用

Regex.Replace(input, replacement)    

代替

string.Replace(input, replacement)

这假设(总是一个好主意)字符串。Replace比Regex.Replace.

是的,一个好主意。不是。正则表达式。IsMatch vs string。Contains for 1。

把这个作为一个过早优化的例子。就像生活中的大多数事情一样,"视情况而定"。我认为,如果你有成百上千种模式,那么根据存在简单模式的可能性,筛选出简单的模式可能是值得的。对于可管理数量的模式,只需执行Regex。

如何测试替换字符串是否需要是正则表达式?

你可以放心地假设如果Regex.Escape(pattern) == pattern,那么你可以使用一个好的旧字符串替换。

但这是微优化…所以一定要衡量这是否值得额外的复杂性。我敢打赌regex引擎可以算出来,但我可能是错的:无论如何,在这种情况下,永远不要凭空假设,而是用措施来支持它们。