rovkit 0.0.6

rust kit for my self
Documentation
#[cfg(test)]
mod tests {
    use rovkit::regkit::*;

    #[test]
    fn test_is_match() {
        let text = "hello@example.com";
        let pattern = r"\w+@\w+\.\w+";
        assert!(is_match(pattern, text));
        assert!(!is_match(r"\d+", text));
    }

    #[test]
    fn test_find_all() {
        let text = "Emails: a@a.com, b@b.com";
        let pattern = r"\w+@\w+\.\w+";
        let result = find_all(pattern, text);
        assert_eq!(result, vec!["a@a.com", "b@b.com"]);
    }

    #[test]
    fn test_find_first() {
        let text = "Emails: a@a.com, b@b.com";
        let pattern = r"\w+@\w+\.\w+";
        let result = find_first(pattern, text);
        assert_eq!(result, Some("a@a.com".to_string()));
    }

    #[test]
    fn test_find_groups() {
        let text = "Email: user@domain.com";
        let pattern = r"(\w+)@(\w+)\.com";
        let result = find_groups(pattern, text);
        assert_eq!(result, vec!["user", "domain"]);
    }

    #[test]
    fn test_find_all_groups() {
        let text = "a@x.com b@y.com";
        let pattern = r"(\w+)@(\w+)\.com";
        let result = find_all_groups(pattern, text);
        assert_eq!(
            result,
            vec![
                vec!["a".to_string(), "x".to_string()],
                vec!["b".to_string(), "y".to_string()]
            ]
        );
    }

    #[test]
    fn test_replace_all() {
        let text = "Replace a@a.com and b@b.com";
        let pattern = r"\w+@\w+\.\w+";
        let result = replace_all(pattern, text, "[email]");
        assert_eq!(result, "Replace [email] and [email]");
    }

    #[test]
    fn test_replace_first() {
        let text = "Replace a@a.com and b@b.com";
        let pattern = r"\w+@\w+\.\w+";
        let result = replace_first(pattern, text, "[email]");
        assert_eq!(result, "Replace [email] and b@b.com");
    }
}