我需要使用正则表达式来限制代码中的字符串。 以下是字符串的批评。
连续 - 和。也是不允许的。 (例如: d - 。是不允许的)
/^([a-zA-Z\d]+[\.]?[a-zA-Z\d]{0,1})[\-]?([a-zA-Z\d]+[\.][a-zA-Z\d]{0,1})+$/
我写了上面的表达。但它违反了第5点。它允许 - 点后。
答案 0 :(得分:3)
2。 ^[a-zA-Z\d]
(允许第一个字符)
1. ... [-.a-zA-Z\d]*$
(允许其他字符)
3. (?!.*-.*-)
...(不允许使用两个连字符)
4. (?!.*\.\.)
...(不允许..
)
5. (?!.*-\.|\.-)
...(不允许.-
和-.
)
现在一起(将负面前瞻一起重构):
^(?!.*(?:-(?:.*-|\.)|\.[.-]))[a-zA-Z\d][-.a-zA-Z\d]*$