gpt4 book ai didi

r - 在 R 中使用正则表达式检测一类字符中的一个或两个重复字符

转载 作者:行者123 更新时间:2023-12-04 10:16:11 24 4
gpt4 key购买 nike

我想检测一类字符中的一个或多个重复字符,而不是该类中唯一字符的组合。在下面的示例中,我们正在查找 r 之前的 p、t 或 k 的实例。所有三个词都满足下面的正则表达式,但我想排除像 这样的情况。千吨 ri 在 r 之前我们有两个不同的辅音。

example <- c("betri", "bettri", "bektri")
str_detect(example, "[ptk]r")

所以 betri 和 bettri 是好的,但 bektri 是坏的。有小费吗?

最佳答案

这个怎么样?

library(stringr)
example <- c("betri", "bettri", "bektri")
str_detect(example, "([ptk])(\\1+)r|([^ptk])([ptk])r")
#> [1] TRUE TRUE FALSE
([ptk])\\1{1}r在 r 之前匹配 p、t 或 k 两次;
( \\1{1} 匹配前一组中的一个字符-- ([ptk]) ; ([^ptk])([ptk])r当 r 前面没有 p、t 或 k 时,匹配 r 之前的 p、t 或 k。

您还可以概括为包括遵循该模式的任何辅音:

library(stringr)
example <- c("betri", "bettri", "bektri", "aepro", "aepo", "aeppro")
str_detect(example, "([[b-df-hj-np-tv-z]])(\\1+)r|([^[b-df-hj-np-tv-z]])([[b-df-hj-np-tv-z]])r")
#> [1] TRUE TRUE FALSE TRUE FALSE TRUE

关于r - 在 R 中使用正则表达式检测一类字符中的一个或两个重复字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61046207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com