[問題] 想請問在使用str_subset時\\.的功能

看板R_Language作者 (爆蠑螈)時間7年前 (2018/02/26 23:18), 7年前編輯推噓0(008)
留言8則, 3人參與, 7年前最新討論串1/1
[軟體熟悉度]: 入門(寫過其他程式,只是對語法不熟悉) [問題敘述]: 最近正在練習使用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

02/26 23:24, 7年前 , 1F
你試試看x 多放一個xhtml的元素,看這個會不會被抓
02/26 23:24, 1F
celestialgod: 到 02/26 23:24 celestialgod: 到 02/26 23:24

02/26 23:25, 7年前 , 2F
.在regex裡面被當作萬用字元,不是原本的.
02/26 23:25, 2F
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

02/27 00:08, 7年前 , 3F
請查regex
02/27 00:08, 3F
好的謝謝您Q

02/27 00:23, 7年前 , 4F
\\. 就代表你真的要找dot 這個字符 而只有dot在regex當中
02/27 00:23, 4F

02/27 00:24, 7年前 , 5F
代表可以match任何字元 所以.html 可以match xhtml
02/27 00:24, 5F
Whale大我想問為什麼\\.是找真正dot的字符 而不是不是用\.呢 我想不通其中的道理Q ※ 編輯: a6409tw (36.226.14.91), 02/27/2018 01:05:14

02/27 01:11, 7年前 , 6F
R中'\' blackslash本身就是特殊字符 所以需要'\\'escape
02/27 01:11, 6F

02/27 01:12, 7年前 , 7F
backslash 打錯字
02/27 01:12, 7F

02/27 12:26, 7年前 , 8F
左邊\是strings的跳脫,右邊\是regex的跳脫
02/27 12:26, 8F
文章代碼(AID): #1Qb2LKT1 (R_Language)
文章代碼(AID): #1Qb2LKT1 (R_Language)