正则表达式:防止字符串以特定的特殊字符结尾
Regex : Prevent a string to end with specif special characters
我在我的 Angular 应用程序下使用 反应式表单验证n。
我有一个表单验证条件,要求我的字符串不以
- 或 '
我已经试过了,但似乎不起作用:
Validators.pattern('.*(?<!\-\')$')
建议 ?
(?<!\-\')
模式是一个 negative lookbehind,它匹配一个没有紧跟 -'
子字符串的位置,而如果有 [= =14=] 或最后一个'
。
您可以使用以下使用 regex 文字 表示法的解决方案,这样您就不必编写模式来匹配整个输入:
Validators.pattern(/[^-']$/)
或者,如果字符串可以为空,
Validators.pattern(/(?:^|[^-'])$/)
(?:^|[^-'])$
模式匹配字符串的开头 (^
) 或除 -
或 '
之外的任何字符(借助 negated character class、[^-']
) 和 $
断言字符串结束。
我在我的 Angular 应用程序下使用 反应式表单验证n。
我有一个表单验证条件,要求我的字符串不以 - 或 '
我已经试过了,但似乎不起作用:
Validators.pattern('.*(?<!\-\')$')
建议 ?
(?<!\-\')
模式是一个 negative lookbehind,它匹配一个没有紧跟 -'
子字符串的位置,而如果有 [= =14=] 或最后一个'
。
您可以使用以下使用 regex 文字 表示法的解决方案,这样您就不必编写模式来匹配整个输入:
Validators.pattern(/[^-']$/)
或者,如果字符串可以为空,
Validators.pattern(/(?:^|[^-'])$/)
(?:^|[^-'])$
模式匹配字符串的开头 (^
) 或除 -
或 '
之外的任何字符(借助 negated character class、[^-']
) 和 $
断言字符串结束。