2017-11-27 20 views
-1

JSON要求でregex検証を実行しようとしています。私の要件は、他の人をブロックしながらいくつかの特殊文字を許可することです。しかし、それは常に "" 私は別の正規表現を試しました[\\ w + \ "/ {} :, - ]Regex検証失敗

を試してみました。

ここで私が紛失していることを教えてください。あなたの代わりに `.matches(の` .find()を `)を使用している場合でも

おかげ

public static void main(String[] args) throws IOException { 

    String value = "{\"GetBalanceRq\":{\"AccountInfo\":{\"Wallet\":\"00d75a91-0f78-4cc8-a489-a7fada2e9a5b\",\"ID\":\"8914901179808460001\"}}}"; 
    Pattern pattern = Pattern.compile("[^\\w-./:,; ]"); 
    Matcher matcher = pattern.matcher(value); 
    System.out.println("Matcher: "+matcher.matches()); 
} 
+0

'私はそれはあなたを助ける疑います。 –

+2

ではなく、regexを使用してください.JSONとJSONパーサーを解析するのはなぜですか? – mhawke

+0

解析する前に正規表現検証を行う必要があります。その理由は、SonatypeはFasterXmlのセキュリティフラグを生成するため、JSONが解析される前にスキャンする必要があるからです。 –

答えて

0
String value = "{\"GetBalanceRq\":{\"AccountInfo\":{\"Wallet\":\"00d75a91-0f78-4cc8-a489-a7fada2e9a5b\",\"ID\":\"8914901179808460001\"}}}"; 
    Pattern pattern = Pattern.compile("^[{}\\w\\:,-\\.\\\"\\\\/]*$"); 
    Matcher matcher = pattern.matcher(value); 
    System.out.println("Matcher: "+matcher.matches()); 

はそれが役に立てば幸い:)

+0

助けてくれてありがとう。これは私のために行います。 –

関連する問題