use regex::Regex;
pub fn regexp_pattern_position(input: &str, pattern: &str) -> i64 {
if let Ok(regex) = Regex::new(pattern) {
if let Some(match_result) = regex.find(input) {
return (match_result.start() + 1) as i64;
}
}
-1
}
pub fn regex_is_match(input: &str, pattern: &str) -> bool {
if let Ok(regex) = Regex::new(pattern) {
return regex.is_match(input);
}
false
}
pub fn regex_replace(input: &str, pattern: &str, replacement: &str) -> String {
if let Ok(regex) = Regex::new(pattern) {
return regex.replace_all(input, replacement).to_string();
}
input.to_string()
}
pub fn regex_substr(input: &str, pattern: &str) -> String {
if let Ok(regex) = Regex::new(pattern) {
if let Some(mat) = regex.find(input) {
return mat.as_str().to_string();
}
}
"".to_string()
}