0

我做了一些网络抓取,并有一个字符串 my_html 和我想要的链接

我想要grep()并尝试过(my_html 的一个例子,它要长得多)

my_html <- 'stuff more stuff ...
<TD ><A CLASS=my_link HREF=\"https://www.stuff.com/secure-bin/my_club/myrep.cgi/tpw9109.cry?scrtpw9109.cry\">
other stuff
<p> www.google.com </p>
end'



my_pattern <- "<TD><A CLASS=my_link HREF=*>"
grep(my_pattern,x=my_html,value=TRUE)

这让我

character(0)

我认为问题与模式中的特殊字符有关,但我不知道补救措施。

4

1 回答 1

1
> sub( '(^.+HREF=\\\")(.+)(\".+)', "\\2", my_html)
[1] "https://www.stuff.com/secure-bin/my_club/myrep.cgi/tpw9109.cry?scrtpw9109.cry"

HREF=\"基本上在使用 2 个反斜杠表示单个反斜杠和\"表示双引号之前丢弃任何内容。然后包括下一个双引号之前的任何内容作为第二个匹配部分,以及从该标记到结尾的任何内容作为第三部分。所以它应该只返回中间匹配部分(如果存在的话)。

于 2013-01-08T20:09:48.110 回答