// 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)(?<!(?:\\{2})*\\)(?:(?<begin_capture>[\(])(?<begin_capture_modifier>(?=[<][a-z_A-Z]+[>])|(?!\?(?:<?[=!]|:)))|(?<begin_non_capture>\((?=\?(?:<?[=!]|:))))|(?:(?<end>\)))").unwrap();
let string = "// Basic - Repeat Delimiters
/^((?:([gimsuy])(?!.*\\\\2))*)/gm
// Basic - Nested - Captured | Non-captured
^(?:(// +)(?:(@noframes)([ \\t]*$)|(@(?:include|match|grant|require))([\\t ]+)(?:(https?.+?)|(.+))(\\**)([ \\t]*)|(^//[ \\t]+)(@(?:author|name(?:space)?|version|description))([ \\t]+)(.+?)([ \\t]*)|(^//[ \\t]+)(@resource)([ \\t]+)(\\S+)([ \\t]+)(\\S+)([ \\t]*))(\\n(?://[ \\t]*\\n)*))
// Basic - Captured | Non-captured | Lookbehind Positive
(?<=^[ \\t]*)(//)([ ])(?<capture_name>)(Case:)([ \\t]+)(.*\\S)([ \\t]*)?$
// Complex
(?<=^[ \\t]*)(//)([ ])(Case:)([ \\t]+)(.*\\S)([ \\t]*)?$
^(?:(?:(?:[0]*|[0]*1)(?=$))|(?:(?:[0]*|[0]*1(?[1-9]+)))?[\\.][\\d]+)$
^((?:[ ]{2})*[ ])([#])([ ]+)(?:(@param)([ ]+)(?:([\\$][\\d\\*@$?&]+))(\\??)(?:(:)([\\t ]+)(\\w+))?(?:([ ]+)([=][>])([ ]+)(?:([A-Za-z_-](?:[<][^\\n>]+[>]|[A-Za-z_-]*[^\\n]*?))(?:([ ]+)(?:(@desc)|([<]\\?))([ ]+)(.+?))?))([ ]*)|(@return)(?:([ ]+)([=][>])([ ]+)(?:([A-Za-z_][A-Za-z_]*)(.*?)(?:([ ]+)(?:(@desc)|([<]\\?))([ ]+)(.+?))?)))$";
let substitution = "\\n - $begin_capture";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", result);
}
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/