正则表达式或匹配

时间:2012-05-28 08:55:35

标签: java regex

我有一个可以用

结尾的字符串
"/"

"/?secure=true"

我需要验证它。我试过这个

\b(/(/?secure=true)?)\b

但我发现正则表达式找不到匹配项。 但是,用

^(/(\$secure=true)?)$
找到

匹配。但是这在我的情况下不会有用,因为我要验证的字符串将以"thisismystring/""thisismystring/?secure=true"之类的字符作为前缀。

我想知道怎么做。

3 个答案:

答案 0 :(得分:6)

您需要使用管道符号(|)来指定或:

(/|/\?secure=true)$

你还需要转义问号,就像这里一样,并且应该为字符串的结尾指定“$”,而不是为字符串的开头指定“^”。

答案 1 :(得分:4)

两种情况都包含

/

所以这不应该在可选部分。

您将可选部分放在()?

并使用反斜杠转义问号

/(\?secure=true)?

并且表明它应该以此结束,你把$放在最后

/(\?secure=true)?$

答案 2 :(得分:1)

可以这样做:

/(\?secure=true)?$