Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 验证属性名称(检查非法字符)_C#_Regex_Validation_Properties_Typebuilder - Fatal编程技术网

C# 验证属性名称(检查非法字符)

C# 验证属性名称(检查非法字符),c#,regex,validation,properties,typebuilder,C#,Regex,Validation,Properties,Typebuilder,为了编组和使用本机API自动生成类型,我需要在运行时验证某些结构的字段名。本机端的命名规则与C#中的命名规则相同(没有空格,没有特殊字符,如&,é,*,) 有标准的正则表达式模式吗 注意:作为一种解决方法,我正在考虑在中构建静态方法,仅用于名称验证。那么您是要删除非法字符(黑名单)还是只检查标识符是否有效?对于有效字符,可以使用以下内容: // Match an identifier - Matches "type1" but not &type1" or "#define". \b(_

为了编组和使用本机API自动生成类型,我需要在运行时验证某些结构的字段名。本机端的命名规则与C#中的命名规则相同(没有空格,没有特殊字符,如&,é,*,)

有标准的正则表达式模式吗


注意:作为一种解决方法,我正在考虑在中构建静态方法,仅用于名称验证。

那么您是要删除非法字符(黑名单)还是只检查标识符是否有效?对于有效字符,可以使用以下内容:

// Match an identifier - Matches "type1" but not &type1" or "#define".
\b(_\w+|[\w-[0-9_]]\w*)\b
下面是示例(尽管它是针对VisualStudio的)。
以下是到目前为止我想要的。

应该足够了:

^[a-zA-Z]+[a-zA-Z0-9\_]*$

可能是重复的。@CodeCaster该死的。。。这是真的。。。从未尝试过,但却是真的。。。所以肯定不会让
Typebuilder.DeclareProperty
为我做验证。你有没有尝试过简单的谷歌搜索?这里有一个链接,可以帮助你开始使用
RegEx
当然还有其他内置的字符串函数,比如
。在.net中包含
,你也可以使用@MethodMan我知道regex,只是想知道是否有一个标准模式用于名称验证,而不是重新发明轮子。。。但是好吧。。。我将重新创造。