我有一个可以用
结尾的字符串"/"
或
"/?secure=true"
我需要验证它。我试过这个
\b(/(/?secure=true)?)\b
但我发现正则表达式找不到匹配项。 但是,用
^(/(\$secure=true)?)$
找到匹配。但是这在我的情况下不会有用,因为我要验证的字符串将以"thisismystring/"
或"thisismystring/?secure=true"
之类的字符作为前缀。
我想知道怎么做。
答案 0 :(得分:6)
您需要使用管道符号(|)来指定或:
(/|/\?secure=true)$
你还需要转义问号,就像这里一样,并且应该为字符串的结尾指定“$”,而不是为字符串的开头指定“^”。
答案 1 :(得分:4)
两种情况都包含
/
所以这不应该在可选部分。
您将可选部分放在()?
中并使用反斜杠转义问号
/(\?secure=true)?
并且表明它应该以此结束,你把$放在最后
/(\?secure=true)?$
答案 2 :(得分:1)
可以这样做:
/(\?secure=true)?$