我厌倦了总是试图猜测,如果我()[]{}|在使用许多regexp实现时应该逃避像'等等特殊字符.
它与例如Python,sed,grep,awk,Perl,rename,Apache,find等不同.是否有任何规则集告诉我何时应该,何时不应该逃避特殊字符?它是否依赖于正则表达式类型,如PCRE,POSIX或扩展正则表达式?
我正在使用 FluentValidation 并尝试创建一个规则,如果字符串中有任何空格,即用户名,则会引发错误。
我已经查看了这些 SO,但似乎没有用,我确定我的语法有一点偏差?
什么是“非空格且非连字符”的正则表达式 以及 “非空格且非连字符”的正则表达式是什么
RuleFor(m => m.UserName).NotEmpty().Length(3, 15).Matches(@"/^\S\z/");
Run Code Online (Sandbox Code Playgroud)
或者
RuleFor(m => m.UserName).NotEmpty().Length(3, 15).Matches(@"[^\s]");
Run Code Online (Sandbox Code Playgroud)
这些似乎都不起作用。其他规则不为空且在 3 到 15 个字符之间。