Есть регулярка
^\s*(?P<real>\\-?\d+(?:\\.\d+)?)(?P<imagine>[\\-\\+][i]\d+(?:\\.\d+)?)?
Но совершенно не работает в следующем коде:
let mut input_s = "25.6723+i2234.45";
let num_re = regex!(r"^\s*(?P<real>\\-?\d+(?:\\.\d+)?)(?P<imagine>[\\-\\+][i]\d+(?:\\.\d+)?)?");
println!("Input string: {}", input_s);
match num_re.captures(input_s)
{
Some(cap) =>
{
println!("Capture real: {}", cap.name("real"));
},
None => println!("None"),
}
➜ rustc --version
rustc 0.12.0-pre-nightly (2e3858179 2014-09-03 00:51:00 +0000)