除了非常基本的正则表达式之外,我不是很熟悉。我有一个字段允许除单引号,双引号和问号之外的所有字符(我知道,这不是一个好主意,但我能说什么。我的客户不会对这个要求做出让步。)现在,增加了一个新要求。 @#的字符组合也是不允许的。我当前的正则表达式是^ [^?'“] {0,1000} $我现在如何将@#的要求包含为不允许的特定字符组合?
答案 0 :(得分:2)
没有长度限制,你可以做
^([^"'?@]|@+[^"#'?@])*@*$
答案 1 :(得分:0)
注意:如果前瞻,支持后视,则可以选择:
^(?:(?<!@)#|@(?!#)|[^'"?@#]){0,1000}$
答案 2 :(得分:0)
Dave有一个问题 - OP的要求是禁止原始字符和@#的特定组合。此外,如果正则表达式在这种情况下测试为false,而不是在测试为真时,则允许更简单,因为正则表达式变得更容易阅读。它还否定了长度要求,如果需要,可以单独进行测试。
!val.test(/[^"'?]|@#/)