如何测试替换字符串是否需要是正则表达式?
本文关键字:是否 正则表达式 字符串 替换 何测试 测试 | 更新日期: 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引擎可以算出来,但我可能是错的:无论如何,在这种情况下,永远不要凭空假设,而是用措施来支持它们。