use once_cell::sync::Lazy;
use regex::Regex;
static WIKILINK_RE: Lazy<Regex> =
Lazy::new(|| Regex::new(r"\[\[([^\]|#]+)(?:#[^\]|]+)?(?:\|[^\]]+)?\]\]").unwrap());
pub fn extract_wikilinks(input: &str) -> Vec<String> {
WIKILINK_RE
.captures_iter(input)
.filter_map(|caps| caps.get(1).map(|m| m.as_str().trim().to_string()))
.collect()
}