線形ソートみたいな感じ
text[i + j] != pattern[j]とすることで、patterを一文字ずつ合致するか判定する。
regexもこれと同じアルゴリズムなんだろうか???
fn main() {
let text = ['J','A','P','A','N','H','O','L','D','I','N','G',];
let pattern = ['H','O','L','D'];
for i in 0..text.len() {
let mut flg = true;
for j in 0..pattern.len() {
if text[i + j] != pattern[j] {
flg = false;
break;
}
}
if flg {
println!("{}", i);
}
}
}
Running `target/debug/rust`
5