- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 gregexpr
和 str_extract_all
函数中进行量化
require(stringr)
gregexpr(pattern = "(h|a)*", "xxhx")
[[1]]
[1] 1 2 3 4
attr(,"match.length")
[1] 0 0 1 0
attr(,"useBytes")
[1] TRUE
str_extract_all(pattern = "(h|a)*", "xxhx")
[[1]]
[1] "" "" "h" "" ""
为什么 gregexpr
表示 3 个空位而 str_extract_all
表示 4 个空位
最佳答案
这是 TRE (gregexpr
) 和 ICU (str_extract_all
) 正则表达式引擎处理空(也称为“零长度”)正则表达式匹配的区别。 TRE 正则表达式在零长度匹配后推进正则表达式索引,而 ICU 允许对同一位置进行两次测试。
如果您使用替换函数,两个引擎尝试的位置会变得很明显:
> gsub("(h|a)*", "-\\1", "xxhx")
[1] "-x-x-hx-"
> str_replace_all("xxhx", "(h|a)*", "-\\1")
[1] "-x-x-h-x-"
TRE 引擎匹配h
并将索引移动到x
之后,而ICU 引擎匹配h
并在h
之后立即停止x
之前的 code> 以匹配它之前的空位置。
关于r - 在 gregexpr 和 str_extract_all 函数中进行量化的交替,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49855329/
我正在尝试使用 stringr 包中的 str_extract_all 从 R 中的一些文本中提取值,我想使用来自 perl 的正则表达式的非匹配组 (?:...) 在一行中提取和清理相关值。 运行这
在这里对 R 来说还是比较新的。我有一列推文,我正在尝试创建一个包含转推句柄“RT @blahblah”的列,如下所示: Tweets Retwe
我有一个字符串列表如下: tofind<-c("aaa","bbb","ccc","ddd") 我还有一个向量如下: n<-c("aaabbb","aaa","aaacccddd","eee") 我想
我遇到了一个应该很简单的问题。可能是正则表达式问题。我是新手。请考虑一个字符串向量,例如: species_location<-c('Homo_sapiens_Lausanne_Switzerland
在 gregexpr 和 str_extract_all 函数中进行量化 require(stringr) gregexpr(pattern = "(h|a)*", "xxhx") [[1]] [1]
这是我的数据,一个字符串: data [[1]] # [1] "" " Content1." " Content2." " Content3." 为什么开头是空字符串?它在
我正在查看数据框中的多个单元格,并试图提取多个字符序列中的任何一个;每个单元格只有这些序列之一。 这就是我的意思: dF$newColumn = str_extract_all(string = "d
我想提取除模式之外的所有内容并将其返回到字符串中。 我试图将 str_extract_all 与 sapply 和 cat 结合在一起 x = c("a_1","a_20","a_40","a_30"
我正在尝试使用“str_extract_all”stringr 函数从一系列 .txt 文档中提取一系列单词。一切正常,除了我得到的结果不显示 Unicode 字符(在提取信息的 UTF-8 文本中很
我是一名优秀的程序员,十分优秀!