看板 R_Language 關於我們 聯絡資訊
[軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 最近正在練習使用R來爬蟲 但一直無法理解 str_subset(x,"\\.html")中\\. 我的理解是 左邊的\將右邊的\功能跳脫 使得結果變成在x中尋找符合\.html的元素 可是這樣.的功能並沒有被跳脫 一直都想不通 另外如果將程式碼改成 str_subset(x,".html")竟然跟 str_subset(x,"\\.html")的結果一樣 str_subset(x,"\\.html")的結果一樣 我已經徹底混亂了 拜託各位大大了QQ [環境敘述]: Win10 64bit Version 1.1.383 [關鍵字]: 正則表示法、爬蟲 選擇性,也許未來有用 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.112.177.147 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1519658324.A.741.html
celestialgod: 你試試看x 多放一個xhtml的元素,看這個會不會被抓02/26 23:24
celestialgod: 到 02/26 23:24 celestialgod: 到 02/26 23:24
celestialgod: .在regex裡面被當作萬用字元,不是原本的.02/26 23:25
God大,我照你說的在x裡面的html前面加個英文字後 使用str_subset(x,”\\.html”)抓不到任何東西 但是str_subset(x,”.html”)卻可以 意思是”\\.html”搜尋x裡有.html的東西 但我還是無法理解為什麼QQ ※ 編輯: a6409tw (140.112.25.99), 02/26/2018 23:55:20 ※ 編輯: a6409tw (140.112.25.99), 02/26/2018 23:56:55
celestialgod: 請查regex02/27 00:08
好的謝謝您Q
cywhale: \\. 就代表你真的要找dot 這個字符 而只有dot在regex當中02/27 00:23
cywhale: 代表可以match任何字元 所以.html 可以match xhtml02/27 00:24
Whale大我想問為什麼\\.是找真正dot的字符 而不是不是用\.呢 我想不通其中的道理Q ※ 編輯: a6409tw (36.226.14.91), 02/27/2018 01:05:14
cywhale: R中'\' blackslash本身就是特殊字符 所以需要'\\'escape 02/27 01:11
cywhale: backslash 打錯字 02/27 01:12
eric500g: 左邊\是strings的跳脫,右邊\是regex的跳脫 02/27 12:26