【问题标题】:How to negate angular pattern/regex [duplicate]如何否定角度模式/正则表达式
【发布时间】:2019-01-08 07:52:25
【问题描述】:

我有以下代码

https://stackblitz.com/edit/angular-uvxifq-qrjtpg

pattern="^\s+$"

我需要否定这一点,因为到目前为止我在输入字母时出错,但它应该只在只有空格时才显示错误。

我尝试使用?!,但它显示错误

【问题讨论】:

  • 它不应该只接受空格吧?
  • 空或只有空格应该返回错误。如果我写 100space 和一个字母之类的东西,应该没问题

标签: regex


【解决方案1】:

您可以使用以下正则表达式:

^(?: *[^\s] *)+$

演示:https://regex101.com/r/th0A3A/3/

【讨论】:

    【解决方案2】:

    如果您想使用负前瞻(?!,您可以检查从字符串的开头到结尾是否没有空格字符:

    pattern="^(?!\s*$)[\s\S]+$"
    

    Regex demo

    这将匹配

    • ^ 字符串开始
    • (?!\s*$) 负前瞻,断言后面不是 0+ 空格字符和字符串结尾
    • [\s\S]+ 匹配任何字符 1 次以上,包括换行符
    • $ 字符串结束

    【讨论】:

      猜你喜欢
      • 2019-04-10
      • 2017-03-01
      • 2021-08-30
      • 2017-03-09
      • 2011-05-15
      • 1970-01-01
      • 2013-01-18
      • 1970-01-01
      相关资源
      最近更新 更多