【问题标题】:Regex with Letters, Numbers, @ and spaces带有字母、数字、@ 和空格的正则表达式
【发布时间】:2018-01-24 13:29:37
【问题描述】:

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

有效的输入是:

  • Abc
  • Abc def
  • @Abc
  • Abc@

到目前为止我尝试过的示例:@"[^\w-\s-@]"

【问题讨论】:

  • 你能展示一下你到目前为止所做的尝试吗?一些示例字符串来显示您要匹配的内容怎么样?
  • @"[^\w-\s-@]" 到目前为止的例子:玛丽莎:玛丽莎测试:@Marisa
  • 那行不通怎么办?请添加到您的问题中,而不是 cmets。
  • 如果只需要 ASCII 字母,请使用@"^[A-Za-z0-9\s@]*$" 或@"^[A-Za-z0-9\s@]*\z"。对于 Unicode,请使用 @"^[\p{L}\p{N}\s@]*$"。
  • @BlueBockser It will never match !"§$ 由于锚点。

标签: c# regex wpf


【解决方案1】:

你可以使用

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

见regex demo

模式匹配:

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

【讨论】:

  • 感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-12
  • 2010-09-15
  • 2022-01-14
相关资源
最近更新 更多