gpt4 book ai didi

regex - .*\\的目的是什么?

转载 作者:行者123 更新时间:2023-12-03 22:25:54 25 4
gpt4 key购买 nike

我一直在玩list.files()我只想列出 001.csv通过 010.csv我想出了这个命令:

list_files <- list.files(directory, pattern = ".*\\000|010", full.names = TRUE)

这段代码给了我我想要的,但我不完全理解模式参数发生了什么。怎么样 pattern = .*\\\000工作?

最佳答案

\\0是将整个正则表达式匹配插入到该点的反向引用。比较以下内容以了解其含义:

sub("he", "", "hehello")
## [1] "hello"
sub("he\\0", "", "hehello")
## [1] "llo"

"001.csv" 这样的字符串或 "009.csv" , 发生的情况是 .*匹配零个字符, \\0重复这些零字符一次,然后 00匹配字符串中的前两个零。成功!

此图案 不会匹配 "100.csv""010.csv"因为它找不到任何匹配的东西,它被加倍然后紧跟两个 0 s。它 但是,匹配 "1100.csv" ,因为它匹配 1 ,然后将其加倍,然后找到两个 0 s。

所以,回顾一下, ".*\\000"匹配任何以 xx00 开头的字符串哪里 x代表零个或多个字符的任何子字符串。也就是说,它匹配任何重复两次然后后跟两个零的内容。

关于regex - .*\\的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27828708/

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