代码之家  ›  专栏  ›  技术社区  ›  firasKoubaa

正则表达式:防止字符串以指定的特殊字符结尾

  •  1
  • firasKoubaa  · 技术社区  · 6 年前

    反应形式验证 在我的下面 棱角分明的

    我有一个表单验证条件,它要求我的字符串不以 - '

    Validators.pattern('.*(?<!\-\')$')
    

    建议?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Wiktor Stribiżew    6 年前

    这个 (?<!\-\') 图案是 negative lookbehind 与前面没有直接使用 -' 子字符串,而您只希望在存在 - ' 最后。

    正则表达式文字 符号,这样您就不必编写模式来匹配整个输入:

    Validators.pattern(/[^-']$/)
    

    或者,如果字符串可以为空,

    Validators.pattern(/(?:^|[^-'])$/)
    

    这个 (?:^|[^-'])$ 模式匹配字符串的任意一个开头( ^ - ' (在 negated character class , [^-'] ),和 $ 断言字符串的结尾。