aboutsummaryrefslogtreecommitdiff
path: root/src/dl_list.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/dl_list.rs')
-rw-r--r--src/dl_list.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dl_list.rs b/src/dl_list.rs
new file mode 100644
index 0000000..979c332
--- /dev/null
+++ b/src/dl_list.rs
@@ -0,0 +1,13 @@
1use super::regex::Regex;
2
3#[derive(Debug)]
4pub struct DLListItem {
5 name: String,
6 value: String,
7}
8
9pub fn parse(s: &str) -> Vec<DLListItem> {
10 let reg_list_item = Regex::new(r#"(?is)<dt.*?>(.*?)</dt>.*?<dd>(.*?)</dd>"#).unwrap();
11
12 reg_list_item.captures_iter(s).map(|c| DLListItem { name: c.at(1).unwrap().into(), value: c.at(2).unwrap().into() }).collect()
13}