1
A
回答
1
\是一個轉義字符。它改變了以下字符的含義,雖然在空格的情況下它不會改變任何東西。如果你做'\ t'你得到一個製表符,如果你使用'\ n',你會得到一個換行符。 \只會對特定字符起作用,而其他所有字符只會匹配它們。如果你想包括「\」在你的輸出,你需要使用\\
這裏的反斜槓字符的一些其他用途的正則表達式:
http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexp-Backslash.html
1
在該R正則表達式有一些元字符(如. \ | () [ {^$ * + ?
),它們有特殊含義,例如.
匹配單個字符,+
表示前面的項目將匹配一個或多個項目。
> grep("a+", c("abc.", "def", "cba a", "a.a", "a+"), value=TRUE)
[1] "abc." "cba a" "a.a" "a+"
在這個例子中a+
意味着我們希望它有一個或內更a
匹配字符串
如果你想這裏面出現一個實際+
字符(如最後一個字符串匹配字符串在上述情況下a+
),你應該使用反斜槓\
在你的正則表達式來使解析器解釋不同的看法(否則會使用它的特殊含義進行解釋),因此上述例子將改變爲:
> grep("a\\+", c("abc.", "def", "cba a", "a.a", "a+"), value=TRUE)
[1] "a+"
請注意,我們+
之前有\\
因爲\
本身是一個元字符,所以你需要一個\
爲+
,和一個\
爲\
本身
當你之前非元字符用反斜槓,其含義是依賴於實現,如\a
被解釋爲BEL
,\t
爲TAB
,\r
爲CR
。在你的情況下,你在\
前面有一個空格,它仍然被解釋爲空格。
雖然\+
沒有被定義爲一個轉義序列,因爲我下面測試:
> str <- "hello,\+world"
Error: '\+' is an unrecognized escape in character string starting ""hello,\+"
所以,如果你想在你使用+
文字字符串使用+
直接,如果你想在正則表達式中使用它,您使用+
直接作爲重複數量或使用轉義序列\\+
我發現了兩個鏈接Regular Expressions as used in R,Regular Expression with The R Language有用的,你可以找到更多的細節有
相關問題
- 1. 「?=」在正則表達式中做什麼?
- 2. 正則表達式的正則表達式是什麼?
- 3. '\ K'在這個正則表達式中表示什麼?
- 4. 「〜」字符在PHP正則表達式中表示什麼?
- 5. [ - \ w] +在Python正則表達式中表示什麼?
- 6. ^符號在R正則表達式中的含義是什麼?
- 7. 在正則表達式模式之前,'r'是什麼意思?
- 8. R正則表達式
- 9. R - 正則表達式
- 10. R:正則表達式 - 幫助正則表達式匹配
- 11. 在R中正則表達式的Grep
- 12. 是什麼`\\ s`正則表達式中
- 13. 正則表達式在做什麼?
- 14. 是什麼?你在正則表達式
- 15. 這個表示法在正則表達式中表示「?:」是什麼意思?
- 16. 爲什麼這個正則表達式不能在R
- 17. 正則表達式模式的正則表達式模式是什麼?
- 18. 正則表達式(正則表達式)
- 19. 正則表達式(正則表達式)
- 20. 正則表達式(正則表達式)
- 21. 爲什麼Java有一個replaceAll(正則表達式,替換),但replaceAll(正則表達式,正則表達式)?
- 22. 正則表達式:爲什麼我的正則表達式過濾不正確?
- 23. 「[^]」正則表達式模式的含義是什麼(javascript正則表達式)?
- 24. R中的正則表達式幫助
- 25. 正則表達式中的R到
- 26. 正則表達式和R中
- 27. 正則表達式中的R
- 28. R中的Markdown正則表達式
- 29. 取代r中的正則表達式
- 30. R中的正則表達式提取