string = c("Hello-", "HelloA", "Helloa")
grep("Hello$[A-z]", string)
我希望找到单词“Hello”后的下一个字符是字母(不区分大小写)的字符串的索引。上面的代码不工作,但我想的grep()返回指数2和3,因为这些词有R:指定字符串结尾的正则表达式char是一个字母
string = c("Hello-", "HelloA", "Helloa")
grep("Hello$[A-z]", string)
我希望找到单词“Hello”后的下一个字符是字母(不区分大小写)的字符串的索引。上面的代码不工作,但我想的grep()返回指数2和3,因为这些词有R:指定字符串结尾的正则表达式char是一个字母
使用积极的前瞻后“你好”的信
> string = c("Hello-", "HelloA", "Helloa")
> grep('Hello(?=[A-Za-z])', string, perl=T)
[1] 2 3
(?=[A-Za-z])
这种积极的先行断言字符串Hello
后面的字符必须是字母。
OR
> grep('Hello[A-Za-z]', string)
[1] 2 3
在正则表达式添加$
如果只有一个接着一个字符串Hello
信。 $
断言我们在最后。
> grep('Hello[A-Za-z]$', string)
[1] 2 3
> grep('Hello(?=[A-Za-z]$)', string, perl=T)
[1] 2 3
你可以添加一个不区分大小写的修饰符,比如'grep('Hello(?i)[A-Z]',string,perl = T)' – 2014-11-08 05:34:04
“$”是字符串末尾的符号,所以您需要删除。
string = c("Hello-", "HelloA", "Helloa")
grep("Hello[A-z]", string)
#[1] 2 3
?regex # to my memory of the "alpha" version of the character class
grep("Hello[[:alpha:]]", string)
#[1] 2 3
是!得到它了。谢谢 – 2014-11-08 05:34:16