作者a6409tw (爆蝾螈)
看板R_Language
标题[问题] 想请问在使用str_subset时\\.的功能
时间Mon Feb 26 23:18:42 2018
[软体熟悉度]:
入门(写过其他程式,只是对语法不熟悉)
[问题叙述]:
最近正在练习使用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://webptt.com/cn.aspx?n=bbs/R_Language/M.1519658324.A.741.html
1F:→ celestialgod: 你试试看x 多放一个xhtml的元素,看这个会不会被抓02/26 23:24
→ celestialgod: 到 02/26 23:24
→ celestialgod: 到 02/26 23:24
2F:→ 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
3F:→ celestialgod: 请查regex02/27 00:08
好的谢谢您Q
4F:→ cywhale: \\. 就代表你真的要找dot 这个字符 而只有dot在regex当中02/27 00:23
5F:→ cywhale: 代表可以match任何字元 所以.html 可以match xhtml02/27 00:24
Whale大我想问为什麽\\.是找真正dot的字符
而不是不是用\.呢
我想不通其中的道理Q
※ 编辑: a6409tw (36.226.14.91), 02/27/2018 01:05:14
6F:→ cywhale: R中'\' blackslash本身就是特殊字符 所以需要'\\'escape 02/27 01:11
7F:→ cywhale: backslash 打错字 02/27 01:12
8F:→ eric500g: 左边\是strings的跳脱,右边\是regex的跳脱 02/27 12:26