// 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)(?<OpenTag>[\<]+td[\>]+)(?<Contents>[\w\/\(\)\[\]\.\&\:\;\s]*?)(?<CloseTag>[\<]+[\/]+[td]+[\>]+)").unwrap();
let string = "<br />
<span class=\"RptTitle\"><input id=\"chkPromisDataLog\" type=\"checkbox\" name=\"chkPromisDataLog\" checked=\"checked\" onclick=\"showOnOffPromisLog();\" /><label for=\"chkPromisDataLog\">Promis Processing data log [83508442.1].</label></span>
<div id=\"divPromisDataLog\" style=\"display: none;\">
<table id=\"tblPromisDataLog\" cellspacing=\"0\" cellpadding=\"0\" width=\"100%\" border=\"0\" class=\"table\">
<tr>
<td width=\"60%\"></td>
<td>
<a class=\"textnormal\" href=\"javascript:popwnd=window.open('../Tools/ExportExcel.aspx?KEY=LOT_GEN_PROMIS','popwnd','status=no,toolbar=Yes,menubar=Yes,location=no,scrollbars=yes,resizable=Yes');popwnd.focus()\">
Export to Excel
</a>
</td>
</tr>
<tr>
<td colspan=\"2\">
<table cellspacing=\"0\" rules=\"all\" border=\"1\" id=\"dgPromisDataLog\" style=\"border-color: Black; border-collapse: collapse;\">
<tr class=\"rptDetailsHeaderMgt\" align=\"center\">
<td>LotID</td>
<td>Hist Stage</td>
<td>Datein</td>
<td>Dateout</td>
<td>Qtyin</td>
<td>Qtyout</td>
<td>M/C ID</td>
<td>Emp TrackOut</td>
<td>Hold Code</td>
<td>Hold Reason</td>
<td>Staging (Hrs)</td>
</tr>
<tr class=\"rptDetailsItemMgt\" align=\"center\" style=\"white-space: nowrap;\">
<td>83508442.1</td>
<td>
<a
href=\"javascript:popwnd=window.open('LotGen_Dtl.aspx?iDate=04/09/2021 09:07:07 PM&amp;oDate=04/10/2021 03:47:59 PM&amp;oLotid=83508442.1&amp;oStage=C-WFRPROCS&amp;oLastRow=N','popwnd','width=900,height=600,status=no,toolbar=no,menubar=no,location=no,scrollbars=yes,top=100,right=50,left=50');popwnd.focus();\"
>
C-WFRPROCS
</a>
</td>
<td>4/9/2021 9:07:07 PM</td>
<td>4/10/2021 3:47:59 PM</td>
<td>0</td>
<td>9</td>
<td></td>
<td>10911700</td>
<td> </td>
<td> </td>
<td>18.68</td>
</tr>
</table>
</td>
</tr>
</table>
</div>";
// 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/