[−][src]Crate rfind_url
This crate provides a parser to search a string for URLs in reverse order.
All functionality is handled by the Parser
struct which takes chars
as input.
Examples
Text can be fed into the parser in reverse order:
use rfind_url::Parser; let mut parser = Parser::new(); for c in "There is no URL here.".chars().rev() { assert_eq!(parser.advance(c), None); }
The parser returns the length of the URL as soon as the last character of the URL is pushed
into it. Otherwise it will return None
:
use rfind_url::Parser; let mut parser = Parser::new(); // Parser did not find any URLs assert_eq!(parser.advance(' '), None); // URLs are only returned once they are complete for c in "ttps://example.org".chars().rev() { assert_eq!(parser.advance(c), None); } // Parser has detected a URL spanning the last 19 characters assert_eq!(parser.advance('h'), Some(19));
Structs
Parser | State machine for finding URLs. |