我不想重复问号,但我希望在任何地方都允许多个问号,只要它不重复。我无法在方括号内工作。
([a-z#$@]+\?{1}[a-z#$@]+)
should?matchthisentirely?abc?abc
should??notwork
答案 0 :(得分:2)
您可以使用这样的负向前瞻性正则表达式:
^(?!.*[?]{2})[a-z#$@?]+$
(?!.*[?]{2})
是否定前瞻,不会在输入中的任何位置禁止多个?
。
如果您还想在开始和结束时禁用?
,那么您可以将此正则表达式与2个额外的否定前瞻一起使用
^(?![?])(?!.*[?]$)(?!.*[?]{2})[a-z#$@?]+$
下面:
(?![?])
- 不要在开始时?
(?!.*[?]$)
- 不允许?
在最后