でReplaceAllメソッドが正しく動作していない - 正規表現パターンで正規表現を置き換えます

Mithrand1r:

私はとの問題に関する質問をたくさん見ましたreplaceAllが、それは私のために動作しませんでした。私は与えられたことで(そう後で私は、SQLを実行して、正規表現値に基づいて似たレコードを見つけることができるようになります)パターン自体で特定のパターンののoccuranceを交換したいと思います:

https://internal-gateway.com/users/4e8a4741-dd89-4cdd-a7c3-3b2f7044e142

それはリターンをshoud

https://internal-gateway.com/users/[0-9a-f] {8} - [0-9A-F] {4} - [1-5] [0-9A-F] {3} - [89AB] [0-9A-F] {3} - [0-9A-F] {12}

私のコード:

private final static String UUID_PATTERN = "[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89AB][0-9a-f]{3}-[0-9a-f]{12}";
private final static String SIM_NUMBER_PATTERN = "894803[0-9]{13}";
private final static String MSISDN_SHORT_PATTERN = "[0-9]{9}";
private final static String MSISDN_LONG_PATTERN = "[0-9]{11}";
private Optional<WebApp> checkRegexes(String url, Long id) {
    String urlToLookFor = url.replaceAll(UUID_PATTERN,UUID_PATTERN);
    urlToLookFor=urlToLookFor.replaceAll(SIM_NUMBER_PATTERN,SIM_NUMBER_PATTERN);
    urlToLookFor=urlToLookFor.replaceAll(MSISDN_LONG_PATTERN,MSISDN_LONG_PATTERN);
    urlToLookFor=urlToLookFor.replaceAll(MSISDN_SHORT_PATTERN,MSISDN_SHORT_PATTERN);

    return waRepository.getWebAppByRegex(urlToLookFor,id);
}

しかし、与えられた例では、値でReplaceAllは、缶、誰もが私に私のミスで何ヒントを与える、何を交換していませんか?

アイルトン:

String.replaceAll() 大文字と小文字が区別され、そして、あなたのパターンは、ここにあなたの文字列と一致していません。

[89AB][0-9a-f]{3}:「AB」は大文字であります

a7c3:「」小文字

ただ、交換する[89AB][89ab]、または大文字と小文字を区別しないパターンマッチング方式を使用します。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=315164&siteId=1