正则表达式 - 链接不允许双重问号Java

时间:2016-11-29 23:36:16

标签: java regex

我有以下深层链接,如果字符串有2个或更多问号,并且理想情况下应始终包含一个问号,则正则表达式会失败

以下是我正在使用的正则表达式:"^(?!.*[?][?].*)+$"

TestMe?src=SRCH&reset=true - regex should pass
TestMe?src=SRCH?reset=true - regex should fail

1 个答案:

答案 0 :(得分:2)

您正在寻找2个邻居?

"^(?!.[?][?].)+$"
       ^  ^

你的"失败"字符串没有:

TestMe?src=SRCH?reset=true
      ^--------^

您不需要使用正则表达式来检查两个问号:

boolean containsTwoQuestionMarks(String str) {
  return str.indexOf('?') != str.lastIndexOf('?');
}