![](/img/trans.png)
[英]Regular expression to match any characters including line breaks in a string using java
[英]Java String parsing including line break and regular expression
我正在解析具有值的文件
kv {
key "val1"
data "10"
}
kv {
key "val2"
data "20"
}
kv {
key "val3"
}
Pattern p = Pattern.compile("\\s+key.+");
Scanner sc = new Scanner(new File("kv.txt"));
while (sc.hasNextLine()) {
sc.nextLine();
String line = sc.findInLine(p);
if (line != null) {
System.out.println(line);
}
}
上面的代碼可以很好地提取所有具有“鍵”值的行,但是在某些情況下,我會得到也具有“數據”元素的數據,如前兩個記錄所示。 我想知道我應該將什么正則表達式傳遞給Pattern.compile方法,該方法選擇數據直到kv元素的大括號-“}”。
我期望的輸出是->鍵“ val1”數據“ 10”和鍵“ val2”數據“ 20”,用於前兩個kv記錄(包含4個子字符串的字符串)和最后一個->鍵“ val3”。
嘗試使用\\s+key.+\\s.+
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.