【发布时间】:2020-06-02 11:23:08
【问题描述】:
正则表达式应匹配不包含 5 位数字的每个值(+ whitepsaces):
- 12345 - 不匹配
- abc12345 - 不匹配
- abc123456 - 匹配
- 12345abc - 不匹配
- 123456abc - 匹配
- abc12345abc - 不匹配
- abc123456abc - 匹配
- abc123 - 匹配
当前的正则表达式无法正常工作,因为它不排除超过 5 位的数字
^(?!(?:\.|^)(\d{5})(?:\.|$)).*$
【问题讨论】:
-
使用
^(?!.*(?<!\d)\d{5}(?!\d)).*/^(?!.*(?:\D|^)\d{5}(?!\d)).*,见regex demo。或者,在代码中,类似if REGEXP.TEST(/(?<!\d)\d{5}(?!\d)/, string) THEN return false -
非常感谢!它非常适合我。
标签: regex