发送表达到网站返回动态结果(图片)

Tyl*_*ker 6 r rcurl

我使用http://www.regexper.com来查看picto表示正则表达式.我想要一个理想的方法:

  1. 将正则表达式发送到网站
  2. 打开显示该表达式的网站

例如,让我们使用正则表达式:"\\s*foo[A-Z]\\d{2,3}".我去他的网站并粘贴\s*foo[A-Z]\d{2,3}(注意删除双斜线).它返回:

在此输入图像描述

我想从内部执行此过程.创建一个包装函数view_regex("\\s*foo[A-Z]\\d{2,3}")和页面(http://www.regexper.com/#%5Cs*foo%5BA-Z%5D%5Cd%7B2%2C3%7D)使用默认浏览器打开可视化图表.

我认为RCurl可能是合适的,但对我来说这是一个新的领域.我也看到双斜线是一个问题,因为http://www.regexper.com期望单斜线和R需要加倍.我可以让R使用cat如下方法向控制台返回单个斜杠,因此这可能是如何处理的.

x <- "\\s*foo[A-Z]\\d{2,3}"

cat(x)
\s*foo[A-Z]\d{2,3}
Run Code Online (Sandbox Code Playgroud)

A5C*_*2T1 8

尝试这样的事情:

Query <- function(searchPattern, browse = TRUE) {
  finalURL <- paste0("http://www.regexper.com/#", 
         URLencode(searchPattern))
  if (isTRUE(browse)) browseURL(finalURL)
  else finalURL
}

x <- "\\s*foo[A-Z]\\d{2,3}"
Query(x)             ## Will open in the browser
Query(x, FALSE)      ## Will return the URL expected
# [1] "http://www.regexper.com/#%5cs*foo[A-Z]%5cd%7b2,3%7d"
Run Code Online (Sandbox Code Playgroud)

上面的函数只是将web URL前缀("http://www.regexper.com/#")和要查询的搜索模式的编码形式粘贴在一起.

之后,有两种选择:

  • 在浏览器中打开结果
  • 只需返回完整的编码网址即可