我有以下深层链接,如果字符串有2个或更多问号,并且理想情况下应始终包含一个问号,则正则表达式会失败
以下是我正在使用的正则表达式:"^(?!.*[?][?].*)+$"
TestMe?src=SRCH&reset=true - regex should pass
TestMe?src=SRCH?reset=true - regex should fail
答案 0 :(得分:2)
您正在寻找2个邻居?
"^(?!.[?][?].)+$"
^ ^
你的"失败"字符串没有:
TestMe?src=SRCH?reset=true
^--------^
您不需要使用正则表达式来检查两个问号:
boolean containsTwoQuestionMarks(String str) {
return str.indexOf('?') != str.lastIndexOf('?');
}