// 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)^\s{1,}\[Documentation]\s*(.*)$|^\s{1,}\.{3}\s*(.*)$").unwrap();
let string = "
${DISPLAY_LINE1} 0 #TARIFF Display
${DISPLAY_LINE2} 1 #EXTRAS Display
${DISPLAY_LINE3} 2 #FARE Display
@{TEST_SCREENS_WITH_TIMEOUT} ShowDesc ShowOsAndCountryCode ShowSW ShowSerial
... Checksum_PPSU Checksum_BPSU Checksum_LPSU Checksum_GPSU Checksum_AEPS Checksum_FEPS Checksum_GPAR
... Datetime_Clock Datetime_DDMM Datetime_Year
... ShowHWRevBaseboard ShowHWRevSOM Digio LVTL_Info
... TestMeasure_WDZ TestMeasure_SEC TestMeasure_MET TestMeasure_SPD
@{TEST_SCREENS_WITHOUT_TIMEOUT} DisplayTest DisplaySettings Temperature
@{CHECKSUM_SCREENS} Checksum_PPSU Checksum_BPSU Checksum_LPSU
*** Keywords ***
Program Version contain
[Documentation] Read out program version and compare it with ${PROGARMM_VERSION}
... Comparison is done with \"Should Contain\" which is equal to Pythons \"in\" operator,
... it checks if ${PROGARMM_VERSION} is a substring of display content.
... Examples: Display content is \"P.ITM30\"
... Should Contain P.ITM30 ITM30 => PASS
... Should Contain P.ITM30 ITM => PASS
... Should Contain P.ITM30 I => PASS
... Should Contain P.ITM30 ITM40 => FAIL
[Arguments] ${PROGARMM_VERSION}
Fail if not on measure mode screen ShowOsAndCountryCode
@{disp} = Read display in measure mode
Should Contain @{disp}[${DISPLAY_LINE3}] ${PROGARMM_VERSION} Program version not found: ${PROGARMM_VERSION}
Tarif EPS is
[Documentation] Read out tarif EPS and compare it with ${TARIF_EPS}
... Comparison is done with \"Should be equal\"
[Arguments] ${TARIF_EPS}
Fail if not on measure mode screen Checksum_AEPS
@{disp} = Read display in measure mode
${disp_traf_eps} = Catenate SEPARATOR= @{disp}[${DISPLAY_LINE1}] @{disp}[${DISPLAY_LINE3}]
${disp_traf_eps} = Replace String ${disp_traf_eps} . ${EMPTY}
Should be equal ${disp_traf_eps} ${TARIF_EPS} Tarif EPS is not equal
Release Date contain
[Documentation] Read out program version and compare it with ${RELEASE_DATE}
... Comparison is done with \"Should Contain\" which is equal to Pythons \"in\" operator.
... For more information about the in-operator read Program Version contain - Keyword
[Arguments] ${RELEASE_DATE}
Fail if not on measure mode screen ShowSW
@{disp} = Read display in measure mode
Should Contain @{disp}[${DISPLAY_LINE3}] ${RELEASE_DATE} Release date not found: ${PROGRAM_VERSION}
Checksum is not blinking
[Documentation] Check if checksums displayed in MEASURE MODE does blinking
[Arguments] ${CHECKSUM_SCREEN}
Fail if not on measure mode screen ${CHECKSUM_SCREEN}
";
// 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/