科研代碼大全|小云帶學R語言之正則表達式

大家好,很高興和大家見面啦!今天小云向大家介紹R語言正則表達式的相關內(nèi)容,一起來學習吧!
R語言中的正則表達式是一種強大的文本處理工具,用于匹配和操作字符串。它可以通過一系列的符號和特殊字符來定義模式,從而實現(xiàn)對文本的搜索、替換和提取。R語言中常用的正則表達式函數(shù)有grep、grepl、sub和gsub等。正則表達式的基本匹配符號包括`.`、`^`和`$`,字符類包括`[]`,限定符包括`*`、`+`和`?`等。此外,R語言支持特殊字符和元字符的使用,如`\d`、`\w`和`\s`等。正則表達式在R語言中廣泛應用于數(shù)據(jù)清洗、文本分析和模式匹配等任務。
正則表達式中一個重要的元字符是方括號[]。兩個方括號[]標定出來的由一系列字符組成的列表叫做字符組。
正則表達式“[Tt]he”表示無論是The還是the都符合搜索要求,
舉個栗子:

正則表達式”[a-z]at”表示aat、bat、cat…zat都符合搜索要求。
例如:

注意:[a-z]用連字符-把a和z連起來,說的是該字符組中包含了a到z的所有小寫字母,一系列字符串可以通過給出第一個字符、最后一個字符

^開頭表示否定
?正則表達式”at.”則表示所有長度為三個字母,前面兩個字母是at的字符串都符合要求。而”at[.]”則表示只有當一個長度為三的字符串為”at.”才符合要求。
比較一下這兩個栗子:

大部分字符在字符組中都喪失了其特殊意義,其中只有三個元字符是例外,即^?- ]。在一個字符組中,元字符^只要不在最左邊的位置,它就沒有特殊意義;元字符}只要在最左邊就沒有特殊意義;而元字符-無論是在最左邊還是在最右面都沒有特殊意義。
序列符號:
\\d數(shù)字型字符??\\D非數(shù)字型字符

\\s間隔字符??\\S非間隔字符

\\w單詞型字符????\\W非單詞型字符

"\\<"?用于匹配單詞左側(cè)邊界的長度為零的字符串;\\>?用于匹配單詞右側(cè)邊界的長度為零的字符串;\\b?用于匹配單詞左右兩側(cè)長度為零的字符串;\\B?用于匹配不出與單詞邊界的長度為零的字符串;

^用于匹配每一行開頭的空白字符。$用于匹配每一行結(jié)尾的空白字符。
|表示”或”的意思

?表示其前面項目不存在或只能存在一次。例如”at[.]?”表示字符串要包含兩個字母at,其后可以包含一個英文句號.。
*表示其前面的項目可以被匹配零次或更多次。
+表示其前面的項目將被匹配一次或更多次。
{n}表示其前面的項目將僅被匹配n次
{n,}表示其前面的項目將被匹配n次或更多次
?
以上就是本期關于正則表達式的內(nèi)容了,喜歡的話記得給小云點個贊哦。這里小云還想推薦一個小工具:單細胞數(shù)據(jù)繪制小提琴圖(http://www.biocloudservice.com/788/788.php),在線運行,可以使用加載的數(shù)據(jù)來實踐哦。
