gsub('\\s|[*]','','Aug -6ren">
gpt4 book ai didi

regex - r中正则表达式中 `\\s|*`和 `\\s|[*]`之间的区别?

转载 作者:行者123 更新时间:2023-12-02 05:55:35 25 4
gpt4 key购买 nike

r中正则表达式中的\\s|*\\s|[*]有什么区别?

> gsub('\\s|*','','Aug 2013*')
[1] "Aug2013*"
> gsub('\\s|[*]','','Aug 2013*')
[1] "Aug2013"

这里[]的作用是什么?

最佳答案

第一个表达式在您使用的方式中无效,因此 * 是一个特殊字符。如果您想对特殊字符使用subgsub这种方式,您可以使用fixed = TRUE参数集。

这采用表示正在搜索的模式的字符串,并忽略任何特殊字符。

参见Pattern Matching and ReplacementR文档。

x <- 'Aug 2013****'
gsub('*', '', x, fixed=TRUE)
#[1] "Aug 2013"

你的第二个表达式只是使用字符类[]作为*来避免转义,与..相同。

x <- 'Aug 2013*'
gsub('\\s|\\*', '', x)
#[1] "Aug2013"

就第一个表达式的解释而言:\\s|*

\s      whitespace (\n, \r, \t, \f, and " ")
| OR

第二个表达式:\\s|[*]

\s      whitespace (\n, \r, \t, \f, and " ")
| OR
[*] any character of: '*'

关于regex - r中正则表达式中 `\\s|*`和 `\\s|[*]`之间的区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19749155/

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