線形ソートみたいな感じ
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