c#regex没有空格 - 字符 - 下划线

时间:2016-09-22 20:28:06

标签: c# regex whitespace

我试图弄清楚如何使用正则表达式过滤以下示例

"  test  " -> no
"test" -> yes
"test_test" -> yes
"test123test" -> no

我试图用这里的众多话题和REL参考来解决这个问题,但我只是感到非常困惑和迷失!

@"^[^a-zA-Z\s]{2-40}$"
@"^[^\d\s]{2-40}$"

两地都到处都是白色的空间。

另外,我想要使用下划线过滤器,但只是_而不是每个特殊字符。

求助,如果你也可以参考我的一些文件,那将是不可思议的!

由于

1 个答案:

答案 0 :(得分:1)

如果您需要匹配可能包含ASCII字母和_的2到40个符号字符串,请使用

^[a-zA-Z_]{2,40}$

请参阅regex demo

C#声明:

string pat = @"^[a-zA-Z_]{2,40}$";

详细

  • ^ - 字符串锚的开始
  • [a-zA-Z_]{2,40} - 2到40({2,40}limiting quantifier)字符是小写或大写ASCII字母或_符号([...]character class构造只匹配1个字符)
  • $ - 字符串锚点结束