我試圖在Java中制定一個正則表達式來捕獲空格分隔列表中的多個字符串。這裏是我試圖從捕捉串...使用正則表達式在分隔列表中匹配子字符
String output = "regulations { qux def } standards none rules { abc-123 456-defghi wxyz_678 } security { enabled }";
而且我想用一個正則表達式匹配括號之間的空間分隔列表中的每個字緊隨rules
。換句話說,我希望正則表達式匹配abc-123
,456-defghi
和wxyz_678
。這個列表中的這些子字符串可以包含除空格之外的任何字符,並且列表中可以有任意數量的子字符串;我剛剛使用了上面的3個例子來舉例說明。以下是行不通的,因爲我需要修改它能夠匹配多次...
String regex = "rules\\s\\{\\s([^\\s]*)\\s\\}";
final Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(output);
while (matcher.find()) {
System.out.println(matcher.group(1));
}
我怎麼能修改上面的正則表達式來考慮多個可能的匹配,並得到下面的輸出?
abc-123
456-defghi
wxyz_678
你需要一個正則表達式的方法嗎?我認爲兩步法更具可讀性。 –
說實話,我真的很感謝看到我自己的學習的單一和雙正則表達式的解決方案... – user2150250