pub fn names(line: &str) -> Vec<Range<usize>>Expand description
The version names in line, each as the range of its bytes: riff
or riff-server, a space, and a number N or N.M with any
number of parts. A sentence dot after the number is not part of it.
use hygiene::versions::names;
// The sample is built, so that this file names no version.
let line = format!("riff {} and riff-server {}.", 3, "4.1.1");
let found: Vec<&str> = names(&line).into_iter().map(|r| &line[r]).collect();
assert_eq!(found, [format!("riff {}", 3), format!("riff-server {}", "4.1.1")]);
assert!(names("riff 3x, riff more, a riff 2nd").is_empty());