aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe-pcre/src
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe-pcre/src')
-rw-r--r--crates/shirabe-pcre/src/preg.rs10
1 files changed, 5 insertions, 5 deletions
diff --git a/crates/shirabe-pcre/src/preg.rs b/crates/shirabe-pcre/src/preg.rs
index 25feafc9..f3bfeac0 100644
--- a/crates/shirabe-pcre/src/preg.rs
+++ b/crates/shirabe-pcre/src/preg.rs
@@ -118,9 +118,9 @@ impl Preg {
pub fn is_match_named(pattern: impl PregPattern, subject: &str) -> Option<PregNamedGroups> {
Some(
preg_match2(pattern, subject, 0)?
- .into_iter()
+ .iter()
.filter_map(|(key, value)| match (key, value) {
- (CaptureKey::ByName(name), Some(value)) => Some((name, value)),
+ (CaptureKey::ByName(name), Some(value)) => Some((name, value.to_string())),
_ => None,
})
.collect(),
@@ -135,9 +135,9 @@ impl Preg {
) -> Option<Vec<Option<String>>> {
Some(
preg_match2(pattern, subject, 0)?
- .into_iter()
+ .iter()
.filter_map(|(key, value)| match key {
- CaptureKey::ByIndex(_) => Some(value),
+ CaptureKey::ByIndex(_) => Some(value.map(str::to_string)),
CaptureKey::ByName(_) => None,
})
.collect(),
@@ -161,6 +161,6 @@ impl Preg {
fn drop_null_matches(matches: &PregMatches) -> PregMatchedGroups {
matches
.iter()
- .filter_map(|(key, value)| value.clone().map(|value| (key.clone(), value)))
+ .filter_map(|(key, value)| value.map(|value| (key, value.to_string())))
.collect()
}