// 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#"(?mi)\s(\"[^\"\r\n\t]+\"|[a-z0-9\_]+)\s?\:\s([a-z\[\]0-9]+)\s?(\'[^\'\;]+\'|\"[^\"\;]+\"|of [^\"\;]+|[^\"\s\;]+|)( temporary)?\;"#).unwrap();
let string = " \"lel lel\": Boolean;
\"lel lel\": Record \"Sales Header\";
lellel: Record \"Sales Header\";
Customer: Record Customer;
Lookup: Xmlport \"DataCustomer\";
Test1: Label \"Hallo\";
Test1: Label 'Hallo';
\"lel lel\": Integer;
AbsenceAmountType: Option \"Net Change\",\"Balance at Date\";
MATRIX_CellData: array[32] of Decimal;
MATRIX_ColumnCaption: array[32] of Text[1024];
CauseOfAbsenceFilter: Code[10];
NoSeriesCode: Code[20];
trigger Timer::Elapsed(sender: Variant; e: DotNet EventArgs)
ToolTip = 'Specifies how amounts are displayed. Net Change: The net change in the balance for the selected period. Balance at Date: The balance as of the last day in the selected period.';
\"Base X-Axis on\" := \"Base X-Axis on\"::Period;
MATRIX_GenerateColumnCaptions(SetWanted::Initial);
TempItemAttributeValue: Record \"Item Attribute Value\" temporary;";
// 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/