Я использую контейнер регулярных выражений и пытаюсь разбить строку на заглавные буквы. Выражение regex, которое я использую, это ([A-Z][a-z]+)
, которое на regex101 подтверждается, что оно работает как положено.
Моя функция проста:
pub fn format_str_with_regex(str_to_format: String) {
let re = regex::Regex::new(r"([A-Z][a-z]+)").expect("Unable to create regex pattern");
let fields = re.captures(&str_to_format).expect("Unable to get capture groups");
println!("{:?}", fields);
}
I ' я передал в различных строках, таких как «Hello», «HelloWorld», «MyNameIsMrSmith», и вместо нескольких захватов я просто возвращаю всю строку обратно мне.
Например, если я использую println!("{:?}", fields.get(1));
Я получаю «Hello», «HelloWorld», «MyNameIsMrSmith», и если я использую println!("{:?}", fields.get(2));
, я просто получаю None
.