// 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"(?i)(?:(?:(\d*(?:\d*(?:.?,?)*?)*?)(.?|,?)(\d*)) ?(k|m|g|c|d|p)?(mi|bbl.|cu.|doz.|fl.? ?oz|F|ft|gal|gr|in|k|lb|mph|n.m|oz|pt|qt|sq|rpm|tablespoon|teaspoon|tbsp|tsp|td|l |m|m|b|g|kl|l |C |g|m|mt|w)(?:\/?(h|s|m)?).? *?(?:\^ *?(\d+))?)(?= |\n|\r)").unwrap();
let string = ".05 ml
50 km
30 cm^23
12 cm
12.000.000,3 ml
12,000 ml
12,000,123.3 ml
12 km/h
12,000,123,312 ML
0.5
// This is a comment line. It is for human use only and is ignored by the Objective-C compiler.
NSString *myString;
int i = 0;
NSString *myString = @\"This is a //valid// string\"; //... followed by a single line comment
#ifndef// begin definition of pi
#define SOME_CONSTANT 3.14 // pi
#endif // end definition of pi
NSString *my_string = @\"Line1 \\
Line2\"; // Multine string
NSString *g = myString; // Comment ...
NSString *myString = @\"dsff; //fsdf\";
NSString *myString = @\"dsff\\\"; //fsdf\";
self.viewController.title = @\"sdfsdfs\" //sdfsdfsdf \\n \"sdfsdf\";";
// 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/