// 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)^[^\d]?(?:(\d\d)[^\d]?(\d\d)[^\d]?(\d\d)(\.[\d\w]{1,}){0,1})(.*)$").unwrap();
let string = "123456.123abc
00 24 13.13456789 Scopes of Bids (Multiple Contracts)
00 24 13.16 Scopes of Bids (Multiple-Prime Contract)
00 00 00 Procurement and Contracting Requirements
00 01 01 Project Title Page
00 01 05 Certifications Page
00 01 07 Seals Page
00 01 10 Table of Contents
00 01 15 List of Drawing Sheets
00 01 20 List of Schedules
00 10 00 Solicitation
00 11 00 Advertisements and Invitations
00 11 13 Advertisement for Bids
00 11 16 Invitation to Bid
00 11 19 Request for Proposal
00 11 53 Request for Qualifications
00 20 00 Instructions for Procurement
00 21 00 Instructions
00 21 13 Instructions to Bidders
00 21 16 Instructions to Proposers
00 22 00 Supplementary Instructions
00 22 13 Supplementary Instructions to Bidders
00 22 16 Supplementary Instructions to Proposers
00 23 00 Procurement Definitions
00 24 00 Procurement Scopes
00 24 13 Scopes of Bids ";
// 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/