// 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)<form.+action="(.*?)".*>\n.*?<input.*?value="(.*?)".*>\n.*?<input.*?value="(.*?)".*>\n.*?<input.*?value="(.*?)"|<input id="(.*?)"|<input name="(.*?)""#).unwrap();
let string = "<form accept-charset=\"UTF-8\" action=\"https://appname.infusionsoft.com/app/form/process/6488f3cca2ac451a9d4f416c48f4c3bc\" class=\"infusion-form\" id=\"inf_form_6488f3cca2ac451a9d4f416c48f4c3bc\" method=\"POST\">
<input name=\"inf_form_xid\" type=\"hidden\" value=\"6488f3cca2ac451a9d4f416c48f4c3bc\" />
<input name=\"inf_form_name\" type=\"hidden\" value=\"Regex Text Webform\" />
<input name=\"infusionsoft_version\" type=\"hidden\" value=\"1.70.0.369835\" />
<div class=\"infusion-field\">
<label for=\"inf_field_FirstName\">Vorname</label>
<input id=\"inf_field_FirstName\" name=\"inf_field_FirstName\" placeholder=\"Vorname\" type=\"text\" />
</div>
<div class=\"infusion-field\">
<label for=\"inf_field_Email\">Email *</label>
<input id=\"inf_field_Email\" name=\"inf_field_Email\" placeholder=\"Email *\" type=\"text\" />
</div>
<div class=\"infusion-field\">
<label for=\"inf_field_Phone1\">Phone 1</label>
<input id=\"inf_field_Phone1\" name=\"inf_field_Phone1\" placeholder=\"Phone 1\" type=\"text\" />
</div>
<div class=\"infusion-field\">
<label for=\"inf_custom_WebinarTitel0\">Webinar Titel</label>
<input id=\"inf_custom_WebinarTitel0\" name=\"inf_custom_WebinarTitel0\" placeholder=\"Webinar Titel\" type=\"text\" />
</div>
<div class=\"infusion-field\">
<label for=\"inf_custom_WebinarTeilnahmelink0\">Webinar Teilnahmelink *</label>
<input id=\"inf_custom_WebinarTeilnahmelink0\" name=\"inf_custom_WebinarTeilnahmelink0\" placeholder=\"Webinar Teilnahmelink *\" type=\"text\" />
</div>
<input name=\"inf_field_LeadSourceId\" type=\"hidden\" value=\"null\" />
<input name=\"inf_custom_Quelle\" type=\"hidden\" value=\"null\" />
<div>
<div> </div>
</div>
<div class=\"infusion-submit\">
<button class=\"infusion-recaptcha\" id=\"recaptcha_6488f3cca2ac451a9d4f416c48f4c3bc\" type=\"submit\">Los gehts!</button>
</div>
</form>
<script type=\"text/javascript\" src=\"https://appname.infusionsoft.app/app/webTracking/getTrackingCode\"></script>
<script type=\"text/javascript\" src=\"https://appname.infusionsoft.com/resources/external/recaptcha/production/recaptcha.js?b=1.70.0.369835-hf-202106081103\"></script>
<script src=\"https://www.google.com/recaptcha/api.js?onload=onloadInfusionRecaptchaCallback&render=explicit\" async=\"async\" defer=\"defer\"></script>
<script type=\"text/javascript\" src=\"https://appname.infusionsoft.com/app/timezone/timezoneInputJs?xid=6488f3cca2ac451a9d4f416c48f4c3bc\"></script>
<script type=\"text/javascript\" src=\"https://appname.infusionsoft.com/js/jquery/jquery-3.3.1.js\"></script>
<script type=\"text/javascript\" src=\"https://appname.infusionsoft.app/app/webform/overwriteRefererJs\"></script>";
// 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/