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