第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

R中具有多個捕獲組的正則表達式組捕獲

R中具有多個捕獲組的正則表達式組捕獲

在R中,是否可以從正則表達式匹配中提取組捕獲?據(jù)我所知,沒有一個grep,grepl,regexpr,gregexpr,sub,或gsub返回組捕獲。我需要從這樣編碼的字符串中提取鍵值對:\((.*?) :: (0\.[0-9]+)\)我總是可以做多個完全匹配的抓圖,或者做一些外部(非R)處理,但我希望可以在R中完成所有這些工作。是否有提供此功能的函數(shù)或程序包?
查看完整描述

3 回答

?
墨色風雨

TA貢獻1853條經(jīng)驗 獲得超6個贊

str_match(),從stringr包裝中執(zhí)行此操作。它返回一個字符矩陣,其中匹配項中的每個組都有一列(整個匹配項中有一列):


> s = c("(sometext :: 0.1231313213)", "(moretext :: 0.111222)")

> str_match(s, "\\((.*?) :: (0\\.[0-9]+)\\)")

     [,1]                         [,2]       [,3]          

[1,] "(sometext :: 0.1231313213)" "sometext" "0.1231313213"

[2,] "(moretext :: 0.111222)"     "moretext" "0.111222"    


查看完整回答
反對 回復(fù) 2019-12-25
?
慕森王

TA貢獻1777條經(jīng)驗 獲得超3個贊

gsub從您的示例執(zhí)行此操作:


gsub("\\((.*?) :: (0\\.[0-9]+)\\)","\\1 \\2", "(sometext :: 0.1231313213)")

[1] "sometext 0.1231313213"

您需要對引號中的\ s進行兩次轉(zhuǎn)義,然后它們才能使用正則表達式。


希望這可以幫助。


查看完整回答
反對 回復(fù) 2019-12-25
  • 3 回答
  • 0 關(guān)注
  • 935 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號