2017-05-26 71 views
0

在我的搜索,我想一個忠告:java的正則表達式轉換

我想改變這個,用替換法:

"labels": "\"label_name\": \"Webapp\"," 

到:

"labels": ["Webapp"] 

在Java中。事實上,我很尷尬"\" \"

如果有人能告訴我一些東西。

謝謝。

回答

1

replace不能使用正則表達式,但你可以使用replaceAll

String input = "\"labels\": \"\\\"label_name\\\": \\\"Webapp\\\",\""; 

String result = input.replaceAll(
    "(\"\\w+\")\\s*:[^:]+:\\s*\\\\\\\"(\\w+)\\\\\\\",\"", 
    "$1: \\[\"$2\"\\]"); 

System.out.println(result1); // "labels": ["Webapp"] 
+0

您好,感謝隊友,它的工作原理就像一個魅力!如果你有一點時間,請給我解釋一下正則表達式的完整意義嗎?我現在在這裏看:...。如果我明白我會說明。 – Ale

+0

@Ale Regex101做了很好的解釋:https://regex101.com/r/UVqVYo/1(見右側)。你只需要避開一些事情。 '$ 1'和'$ 2'引用第一個參數中的捕獲組。 –

+0

太酷了..我剛剛看到了網站!這是非常感謝的傢伙! – Ale

相關問題