C# 带有字母、数字和空格的正则表达式

C# 带有字母、数字和空格的正则表达式,c#,regex,wpf,C#,Regex,Wpf,我想知道如何用c#编写一个只允许 数字、字母、空格和@符号 有效输入为: Abc Abc def @Abc Abc@ 到目前为止我尝试过的示例:@“[^\w-\s-@]”您可以使用 @"^[A-Za-z0-9\s@]*$" 见 模式匹配: ^-字符串的开头 [A-Za-z0-9\s@*-零或更多(*,如果不想匹配空字符串,请使用出现的ASCII字母、数字、任何空格和@字符 $-字符串结尾(如果不想匹配,则替换为\z,如果匹配字符串以\n字符结尾) 您能展示一下您迄今为止所做的尝试吗?如何

我想知道如何用c#编写一个只允许 数字、字母、空格和
@
符号

有效输入为:

  • Abc
  • Abc def
  • @Abc
  • Abc@
到目前为止我尝试过的示例:
@“[^\w-\s-@]”

您可以使用

@"^[A-Za-z0-9\s@]*$"

模式匹配:

  • ^
    -字符串的开头
  • [A-Za-z0-9\s@*
    -零或更多(
    *
    ,如果不想匹配空字符串,请使用出现的ASCII字母、数字、任何空格和
    @
    字符
  • $
    -字符串结尾(如果不想匹配,则替换为
    \z
    ,如果匹配字符串以
    \n
    字符结尾)

您能展示一下您迄今为止所做的尝试吗?如何使用一些示例字符串来显示您要匹配的内容?@“[^\w-\s-@]”到目前为止的示例:Marisa:Marisa Test:@Marisa,那么这不起作用呢?请添加到您的问题中,而不是评论。如果您只需要ASCII字母,请使用
@“^[A-Za-z0-9\s@*$”
@“^[A-Za-z0-9\s@*\z”
。对于Unicode版本,请使用
@“^[\p{L}\p{N}\s@]*$”
@BlueBockser,这是由于锚点的缘故。感谢您的帮助