C# 正则表达式不允许在C中使用特殊字符
我知道这不是一个正确的问题,但我已经尝试了很多正则表达式,但没有一个是有效的。我想排除特殊字符,但只需要包括{,},-,: 我需要排除?~@$%`^ 请求如下:C# 正则表达式不允许在C中使用特殊字符,c#,regex,C#,Regex,我知道这不是一个正确的问题,但我已经尝试了很多正则表达式,但没有一个是有效的。我想排除特殊字符,但只需要包括{,},-,: 我需要排除?~@$%`^ 请求如下: { "StoreNumber":"9907<>", "AssociateId":"tkmadoy", "PrchgType":"PCY", "Header":{ "ApiVersion":"18.1.0.0", "JsonWebToken":null } } 但是正则表达式仍然不起作用,除了一些特殊字符外
{
"StoreNumber":"9907<>",
"AssociateId":"tkmadoy",
"PrchgType":"PCY",
"Header":{
"ApiVersion":"18.1.0.0",
"JsonWebToken":null
}
}
但是正则表达式仍然不起作用,除了一些特殊字符外,它可以省略特殊字符。
我为不允许使用html标记和特殊标记创建了以下代码
[^!*()\|\'?~@#$%`^<>]+$
但它们都不起作用。如果有人能帮我,我将不胜感激。我认为你需要逃离大部分角色,如果不是所有角色的话
[^\?~@#\$%`\^<>]+
你到底想配什么?例如,使用Json解析器可能更好。我改为Json,但仍然没有给出所需的结果。通常最好指定允许的内容,而不是不允许的内容。例如,你说,我需要排除?~@$%`^……那么,空字符、英镑符号或版权符号呢?你也不允许这些吗?如果你解释一下会有帮助;它们在JSON字符串中都是有效的。您可以使用一个否定的字符类将这些字符匹配1+次,然后断言行的结尾。您可以使用字符类来匹配不需要的内容,然后将其替换为空字符串[!*|'?~@$%^]+`并省略$,以便在整个字符串中匹配它们。
[^\?~@#\$%`\^<>]+