std::regex¶
Status: experimental
Compiled regular expressions (Rust regex crate syntax; no backreferences or look-around).
API details and source¶
The implementation source contains the complete declarations and implementation notes. The table below lists canonical Gossamer call signatures; every item name links directly to its implementation file.
| Item | Canonical signature or declaration | Description |
|---|---|---|
Pattern |
type Pattern |
Compiled pattern handle returned by compile. |
captures |
fn captures(pattern: regex::Pattern, text: String) -> Option<Vec<Option<String>>> |
Returns capture groups for the first match; index 0 is the full match. |
captures_all |
fn captures_all(pattern: regex::Pattern, text: String) -> Vec<Vec<Option<String>>> |
Returns capture groups for every match in the text. |
compile |
fn compile(pattern: String) -> Result<regex::Pattern, errors::Error> |
Parses a pattern into a reusable Pattern or returns an Err. |
find |
fn find(pattern: regex::Pattern, text: String) -> Option<(i64, i64, String)> |
Returns the first match as (start, end, text), or None. |
find_all |
fn find_all(pattern: regex::Pattern, text: String) -> Vec<(i64, i64, String)> |
Returns every non-overlapping match as (start, end, text). |
is_match |
fn is_match(pattern: regex::Pattern, text: String) -> bool |
Returns whether the pattern matches anywhere in the text. |
replace |
fn replace(pattern: regex::Pattern, text: String, replacement: String) -> String |
Replaces the first match with the given replacement (supports $N). |
replace_all |
fn replace_all(pattern: regex::Pattern, text: String, replacement: String) -> String |
Replaces every non-overlapping match. |
split |
fn split(pattern: regex::Pattern, text: String) -> Vec<String> |
Splits the text on every pattern match. |