// 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)([A-Z]+?)\s([A-Z]+)\s").unwrap();
let string = "ACCS Access CRST Crest GRA Grange PLAT Plateau SLPE Slope
ALLY Alley CRSS Cross GRN Green PLZA Plaza SND Sound
ALWY Alleyway CRSG Crossing GRND Ground PKT Pocket SPUR Spur
AMBL Amble CRD Crossroad GR Grove PNT Point SQ Square
ANCG Anchorage COWY Crossway GLY Gully PORT Port STRS Stairs
APP Approach CUWY Cruiseway HTS Heights PROM Promenade SHWY State Highway
ARC Arcade CDS Cul-de-sac HRD Highroad QUAD Quad STPS Steps
ART Artery CITG Cutting HWY Highway QDGL Quadrangle STRA Strand
AVE Avenue DALE Dale HILL Hill QDRT Quadrant ST Street
BASN Basin DELL Dell INTG Interchange QY Quay STRP Strip
BCH Beach DEVN Deviation INTN Intersection QYS Quays SBWY Subway
BEND Bend DIP Dip INC Junction RMBL Ramble TARN Tarn
BLK Block DSTR Distributor KEY Key RAMP Ramp TCE Terrace
BVD Boulevard DR Drive LDG Landing RNGE Range THOR Thoroughfare
BRCE Brace DRWY Driveway LANE Lane RCH Reach TLWY Tollway
BRAE Brae EDGE Edge LNWY Laneway RES Reserve TOP Top
BRK Break ELB Elbow LEES Lees REST Rest TOR Tor
BDGE Bridge END End LNE Line RTT Retreat TWRS Towers
BDWY Broadway ENT Entrance LINK Link RIDE Ride TRK Track
BROW Brow ESP Esplanade LT Little RDGE Ridge TRL Trail
BYPA Bypass EST Estate LKT Lookout RGWY Ridgeway TRLR Trailer
BYWY Byway EXP Expressway LOOP Loop ROWY Right of TRI Triangle
CAUS Causeway EXTN Extension LWR Lower RING Ring TKY Trunkway
CTR Centre FAWY Fairway MALL Mall RISE Rise TURN TURN";
let substitution = "const STREET_TYPE_$1 = '$1';\\n";
// result will be a String with the substituted value
let result = regex.replace_all(string, substitution);
println!("{}", result);
}
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/