// 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)<it-grid[\n\s\S]*?([\[\(]selectedItems[\]\)])").unwrap();
let string = " <it-grid
[columns]=\"groupExternalColumns\"
[items]=\"groupExternalItems\"
[selection]=\"groupExternalGridSelection\"
[selectedItems]=\"groupExternalFilterSelection\"
(selectedItemsChange)=\"onSelectedExternalGroupsChanged($event)\"
[cellTemplates]=\"{ nameAndDesc: nameTemplate, settings: settingsTemplate }\"
[idPrefix]=\"'groupExternalSelectorGrid'\"
[comparator]=\"gridPrincipalCompare\"
>
<it-grid
class=\"activities-list activities-list__table\"
[selection]=\"gridSelection\"
[paginationOptions]=\"gridPaginationOptions\"
(paginationChanged)=\"paginationChanged()\"
[idPrefix]=\"'endpointMonitoringListGrid'\"
[columns]=\"endpointMonitoringColumns\"
[items$]=\"endpointMonitoringData$\"
[highlightHovered]=\"true\"
[selectedItemNotifier]=\"selectedConfiguration$\"
[cellTemplates]=\"{
display: displayTemplate
}\"
(selectionChange)=\"onGridSelectionChanged($event)\"
(columnRemove)=\"onGridColumnRemoved($event)\"
[useCustomContextMenu]=\"true\"
(customContextMenuClick)=\"openContextMenu($event)\"
(columnFilter)=\"filterOpen($event)\"
>";
// 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/