// include the latest version of the regex crate in your Cargo.toml
extern crate regex;
use regex::Regex;
fn main() {
let regex = Regex::new(r#"(?m)uk\.co\.autotrader:autotrader-spring-boot-?.*:\"?\${?\K[a-zA-Z-]*"#).unwrap();
let string = "uk.co.autotrader:autotrader-spring-boot-dependencies:${autotraderSpringbootVersion}
uk.co.autotrader:autotrader-spring-boot-dependencies:\"$autotraderSpringbootVersion\"
uk.co.autotrader:autotrader-spring-boot-dependencies:$autotraderSpringbootVersion
uk.co.autotrader:autotrader-spring-boot-dependencies:$someothername
uk.co.autotrader:autotrader-spring-boot-dependencies:2.3.0.1
uk.co.autotrader:autotrader-spring-boot:${autotraderSpringbootVersion}
uk.co.autotrader:autotrader-spring-boot:\"$autotraderSpringbootVersion\"
uk.co.autotrader:autotrader-spring-boot:$autotraderSpringbootVersion
\"uk.co.autotrader:autotrader-spring-boot-dependencies:${autotraderSpringbootVersion}\"
uk.co.autotrader:autotrader-spring-boot:2.3.0.1
(regex to find match upto dollar working)
uk.co.autotrader:autotrader-spring-boot.*:\\\"?\\$
$
\"$
\"${
${
\\$\\\"?\\{?
(regex to find match of text following dollar sign)
uk.co.autotrader:autotrader-spring-boot(\\$\\\"?\\{?)[a-zA-Z]*
uk\\.co\\.autotrader:autotrader-spring-boot:(?=[\\$\\\"?\\{?])[a-zA-Z-]*";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Rust, please visit: https://docs.rs/regex/latest/regex/