我想编写一个需要检查以下内容的正则表达式模式:
每个短划线( - )字符必须紧跟在字母或数字之后;不允许连续短划线。
怎么做?
答案 0 :(得分:0)
您可以使用下面使用负前瞻断言的简单正则表达式。
^(?!-|.*-$|.*-[\W_]|.*[\W_]-).*$
负向前瞻断言中的 .*-[\W_]|.*[\W_]-
部分确保-
不在前面,也不在后面跟着非单词字符或_
符号。
答案 1 :(得分:0)
^(?!(?:.*-(?=$|-))|-).*$
试试这个。看看演示。
https://regex101.com/r/aZ6zX0/4
这使用negative lookahead
来确保-
或-
后面没有$
,并且不会以-
开头。
答案 2 :(得分:0)