匹配非纯数字规则的slug正则表达式存在问题,应如何修正?
匹配slug的修正正则
/^(?!\d+$)[a-z0-9]+(?:-[a-z0-9]+)*$/
规则说明
^匹配字符串起始位置,确保从开头就符合规则,避免后缀匹配的误判(?!\d+$)为负向先行断言,限制整个字符串不能全为数字,直接过滤3、10、2021这类纯数字内容- 后半段
[a-z0-9]+(?:-[a-z0-9]+)*$保留原有逻辑,匹配由连字符分隔的小写字母、数字序列,支持单个单词、多段连字符拼接的格式
匹配效果验证
- 2020-best-year-of-world:匹配成功
- best-of-world:匹配成功
- best-of-2021:匹配成功
- 2021:匹配失败
内容的提问来源于stack exchange,提问作者diegoaguilar
相关产品推荐
相关产品推荐

