C# 如何将{,},[,]方括号添加到正则表达式模式中以允许它们作为特殊字符

C# 如何将{,},[,]方括号添加到正则表达式模式中以允许它们作为特殊字符,c#,regex,C#,Regex,我有下面的正则表达式模式。我想允许以下字符作为特殊字符 { } [ ] Regex Regex=new Regex(@“^(?=.[A-Z])(?=.[!@$%^&*()+)(?=.[0-9])(?=.[A-Z])。{8,15}$” 是否有方法添加它们您需要在正则表达式中转义它们。例如,在正则表达式中,您可以引用“\[”以获取“[”字符 请注意,在C、C、C++、java等中,通常需要将 > \“/Cug >字符加倍以逃避转义字符。因此,在将< > > [代码< /代码>添加到正则表达式中时

我有下面的正则表达式模式。我想允许以下字符作为特殊字符

  • {
  • }
  • [
  • ]
Regex Regex=new Regex(@“^(?=.[A-Z])(?=.[!@$%^&*()+)(?=.[0-9])(?=.[A-Z])。{8,15}$”


是否有方法添加它们

您需要在正则表达式中转义它们。例如,在正则表达式中,您可以引用
“\[”
以获取
“[”
字符


<>请注意,在C、C、C++、java等中,通常需要将 > \“/Cug >字符加倍以逃避转义字符。因此,在将< > > [代码< /代码>添加到正则表达式中时,实际上会使用<代码>”\“< /COD>。在这种情况下,您使用的是<代码>”。
所以你逃过了那个陷阱。

你有什么问题?大括号和方括号。@WiktorStribiżew你确定吗?@TimBiegeleisen你认为
匹配什么?
\]
\[
\{
}
你说得对……但我认为OP是在问如何将它们添加到一个字符类中。换句话说,要求它们出现。无论如何,桥下有水。OP使用的是一个前缀字符串-
@
无需将斜杠对折。OP要添加的任何字符如果正确放置在模式中,都不需要转义。如果应该添加它们,因为当前模式已经“允许”除换行字符以外的任何字符。@JamesThorpe-你说得对。在正则表达式散列中,我错过了这一点。我将更新响应。@WiktorStribiżew我认为他有一两个错误,但我正试图解决我认为是潜在问题的地方。