1

私は現在、HTTPオリジンでSSLからのものかどうかを判断するためのテストを行っています。

(HttpHeaders.Names.ORIGIN).matches("/^https:\\/\\//")

しかし、私はそれが機能していないことに気づいています。matches()正規表現のように文字列をエスケープする必要がありますか、それともそのままにしておくことができhttps://ますか?単純な文字列一致を行う方法はありますか?

簡単な質問のようですが、驚くべきことに、正規表現テスターhttp://www.regexplanet.com/advanced/java/index.htmlを使用してもどこにも到達しません。ありがとう。

4

2 に答える 2

3

Javaの正規表現には区切り文字は必要ありません。単に行う:

.matches("https://.*")

matchsは入力文字列全体を検証するため.*、最後にあることに注意してください。また、入力に改行文字(一致しない.)が含まれている場合は、DOT-ALLを有効にします。

.matches("(?s)https://.*")

当然のことながら、次のことも簡単に実行できます。

.startsWith("https://")

これはプレーンな文字列を取ります(正規表現パターンなし)。

于 2012-05-04T19:17:33.650 に答える
0

この正規表現はどうですか?

"^(https:)\/\/.*" 

テスターで動作します

于 2012-05-04T19:21:57.220 に答える