#pattern #simd #found

nightly patterns

no_std compatible pattern scan library using simd

10 releases

new 0.3.0 May 2, 2025
0.2.5 Dec 28, 2023
0.2.1 Apr 10, 2023
0.1.4 Apr 8, 2023

#863 in Hardware support

Download history 1/week @ 2025-02-14 4/week @ 2025-02-21 2/week @ 2025-02-28 1/week @ 2025-03-07 6/week @ 2025-03-14

626 downloads per month

MIT/Apache

12KB
203 lines

Pattern matching library

Allows you to search for a pattern within data via an iterator interface.

This library uses the core::simd abstraction and does not allocate.

Usage

use patterns::Pattern;

let data = [0_u8; 1_000_00];
// Allows . and ? as wildcard.
// Any number of wildcard characters between spaces is considered a wildcard byte.
let pattern: Pattern = "01 02 00 ? 59 ff".parse().unwrap();
let mut iterator = pattern.matches(&data);

for _found in iterator {
    // use _found
}

No runtime deps