0

我想知道有一个非常严格的规则如何影响 c# 中正则表达式的性能。

例如,如果我希望一个字符串(我将从某处读取)仅包含 [a-zA-z0-9],但同时我确信,给我字符串的人将始终返回一个字符串有这个规律。所以,在这种情况下,将只使用“。” 而不是 a-zA-Z0-9 对性能有影响吗?

这两者的工作方式有何不同?

4

1 回答 1

0

如果我期望一个字符串(我将从某处读取)仅包含 [a-zA-z0-9],但同时我确信,给我字符串的人将始终返回一个具有这个规则。

你不能确定这一点。你知道假设是什么意思。你的代码可以被其他人使用,你的程序可以被其他人输入。编写防御代码。总是。没有理由。

所以,在这种情况下,将只使用“。” 而不是 a-zA-Z0-9 对性能有影响吗?

忽略上述声明,如果您确定输入将符合您的期望,则无需验证它们是否符合。您必须有其他约束,例如“字符串的长度为 X 或更大”,您可以简单地通过检查string.LengthString.INOWS().

于 2013-07-16T13:45:24.430 回答