正则表达式在c#中的工作方式

本文关键字:工作 方式 正则表达式 | 更新日期: 2023-09-27 18:23:35

我想知道一个非常严格的规则如何影响c#中regex的性能。

例如,如果我希望一个字符串(我将从某处读取)只包含[a-zA-z0-9],但同时我确信,给我这个字符串的那个字符串总是会返回一个具有此规则的字符串。因此,在这种情况下,将仅使用"。"而不是a-zA-Z0-9是否有任何性能影响?

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

正则表达式在c#中的工作方式

如果我希望一个字符串(我将从某个地方读取)只包含[a-zA-z0-9],但同时我确信,给我这个字符串的那个字符串总是会返回一个有这个规则的字符串。

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

因此,在这种情况下,将仅使用"。"而不是a-zA-Z0-9是否有任何性能影响?

抛开上面的语句不谈,如果你确信输入符合你的期望,你就不必验证它们是否符合。你必须有其他约束,比如"字符串的长度将为X或更大",你只需检查string.LengthString.INOWS()等方法就可以了。