Fix list result parsing

This commit is contained in:
Nicolas Luck
2023-08-22 22:46:00 +02:00
parent ce1c8aac4c
commit 7e97f16f41
2 changed files with 21 additions and 1 deletions

View File

@@ -120,7 +120,7 @@ impl From<Vec<QueryResolutionLine>> for QueryResolution {
fn parse_prolog_response(input: &str) -> HashMap<String, String> {
let mut map: HashMap<String, String> = HashMap::new();
// Use regex to match strings including commas inside them
let re = Regex::new(r"(\w+)\s=\s([^,]*'[^']*'[^,]*|[^,]*)").unwrap();
let re = Regex::new(r"(\w+)\s=\s((?:[^,\[]|\[[^\]]*\])*)").unwrap();
for cap in re.captures_iter(input) {
let key = cap[1].to_string();