使用下面的代码我提取生成的html链接:
mystr <- c("/url?q=http://www.mypage.html&sa=U&ved=0ahUKEwjgyMPj2pXXAhWB5CYKHXysDlsQqQIIKSgAMAg&usg=AOvVaw1VCvT8iznodM3l4xvc8CVq")
str_extract(mystr, "^.*(?=(&sa))")
返回:
[1] "/url?q=http://www.mypage.html"
如何修改正则表达式以排除/url?q=
?那么只返回http://www.mypage.html
吗?
答案 0 :(得分:1)
您可以将字符串的开头(即^
)替换为http
,
stringr::str_extract(mystr, "http.*(?=(&sa))")
#[1] "http://www.mypage.html"
答案 1 :(得分:1)
您还可以使用基本R md-unwind-support.h
解决方案与第一个int std::uncaught_exceptions() should have been declared inside 'std'
匹配,并使用sub
以外的任何chrsrs捕获它:
http
您可以在&
aftrr sub(".*?(http[^&]*).*", "\\1", x)
之后精确匹配模式。
<强>详情
q=
- 尽可能少的0个字符,.*?
- 捕获与.*?
匹配的第1组,然后捕获(http[^&]*)
以外的任何零个或多个字符http
- 字符串的其余部分。 &
是对第1组值的替代反向引用。