C# 不允许在正则表达式中使用特定字符

C# 不允许在正则表达式中使用特定字符,c#,asp.net,regex,asp.net-mvc,C#,Asp.net,Regex,Asp.net Mvc,我有以下正则表达式: [\u00BF-\u1FFF\u2C00-\uD7FF\w \&quot;"",.()/-<br\s/?>]+$ [\u00BF-\u1ff\u2C00-\uD7FF\w\”,.()/-]+$ 它允许任何语言的字符,但特殊字符除外,如#、*等(尽管在上面的正则表达式中可以看到一些特殊字符) 但是,我的正则表达式也允许不需要的特殊字符,如,& 如何修改此正则表达式以禁止输入字符串中的这些字符?您需要对某些正则表达式部分使用替换(被视为单独的字符您需要对

我有以下正则表达式:

[\u00BF-\u1FFF\u2C00-\uD7FF\w \&quot;"",.()/-<br\s/?>]+$
[\u00BF-\u1ff\u2C00-\uD7FF\w\”,.()/-]+$
它允许任何语言的字符,但特殊字符除外,如
#、*
等(尽管在上面的正则表达式中可以看到一些特殊字符)

但是,我的正则表达式也允许不需要的特殊字符,如
,&


如何修改此正则表达式以禁止输入字符串中的这些字符?

您需要对某些正则表达式部分使用替换(
被视为单独的字符
您需要对某些正则表达式部分使用替换(
被视为单独的字符
您在接受的字符列表中有这些字符。不将它们放在其中如何?看起来您可能误解了正则表达式的实际含义还有一个看起来像br标记的东西。@Chris..是的…字符在我在正则表达式中指定的范围内,但这就是问题所在,我应该如何修改正则表达式以排除这些字符?请查看有关您正在使用的字符类构造如何工作的信息。它匹配其中的任何字符,因此最好是
[\u00BF-\u1ff\u2C00-\uD7FF\w\quot;“”,.()/-br\s/?]+$
与您的相同,但删除了
&
。我没有进一步研究它为什么不起作用,因此我不能保证这会解决您的问题。您的接受字符列表中有这些字符。不在其中如何?看起来您可能误解了您的正则表达式“法律上”指的是“审判”“在那里,还有一个看起来像br标记的东西。@Chris..是的…字符在我在正则表达式中指定的范围内,但这就是我应该如何修改正则表达式以排除这些字符的问题?请查看有关您正在使用的字符类构造如何工作的信息。它匹配其中的任何字符,因此最好是
[\u00BF-\u1ff\u2C00-\uD7FF\w\quot;,.()/-br\s/?]+$
与您的相同,但删除了
&
。我没有进一步研究它为什么不起作用,所以我不能保证这会解决您的问题。我认为您还可以在
中删除从
&
中的转义“,<代码>和<代码>不是正则表达式特殊字符。是的..它的工作,但是<代码> 在正则表达式中间是如何打破正则表达式的,我应该如何处理这个问题,我想允许<代码>:< /代码>和<代码>;< /代码>??在连字符之前加上字符类(注释结束)。您是否将其声明为逐字字符串文字?如果是,则将其加倍:
@“^(?:[\u00BF-\u1ff\u2C00-\uD7FF\w”“。()/:;-]|“+$”
。是的…在regex中为enter键添加了
\n
。现在开始工作了。非常感谢。我这边的一票支持…)…请注意换行符:您可能还想添加
\r
以支持任何类型的换行符。我认为您也可以在
中删除
&
中的转义,
&
不是正则表达式的特殊字符。是的..它可以工作,但
“在正则表达式的中间是如何打破正则表达式的,我应该允许<代码>:< /代码>和<代码>;< /代码>??在字符之前加上字符(参见注释结束)。是否声明为逐字字符串?如果是,则加倍:<代码> @(?):[\U0BF-\U1FFF\U2C00 -\UD7FF\W”,,(…)/:;-]|“|”)+$”
。是的……在regex中为enter键添加了
\n
。。现在开始工作了。非常感谢。我这边也投了一票…:)…请注意换行符:您可能还想添加
\r
,以支持任何类型的换行符。
^(?:[\u00BF-\u1FFF\u2C00-\uD7FF\w ",.()/:;-]|&quot;|<br\s?/?>)+$
@"^(?:[\u00BF-\u1FFF\u2C00-\uD7FF\w "",.()/:;-]|&quot;|<br\s?/?>)+$"