【发布时间】:2015-02-16 09:40:12
【问题描述】:
我使用了一个用于 javascript 的正则表达式测试器来提出以下 3 个正则表达式案例,以从文本中提取不同类型的 URL。对于这些条件,我想在 R 中使用这些正则表达式(正则表达式?):
http 网址:(https?):\/\/(www\.)?[^\\s]+
位网址:[^https?:\/\/](bitly\.com|bit.ly)[^\s]+
www 网址:\bwww\.[^\s]+
在阅读 R 中的正则表达式后,似乎使用 PERL=TRUE 将允许从 javascript 进行转换 -> R.我在一些测试示例中尝试了我的最后一个正则表达式:
grep("\\<(\bwww\\.[^\\s]+)\\>",
c("wwww.google.com and other stuff",
"http.www.google.com"),
perl=TRUE, value=TRUE)
但我收到以下错误:
错误:"grep("\" 中出现意外符号, c("www.google.com 和其他东西", "http.www.google.com") perl"
在 R 中使用这种类型的正则表达式的语法是什么?
【问题讨论】:
-
您必须在 R 中逃脱转义。例如,
\\s。一种转义用于在 R 中输入字符串,第二种转义用于正则表达式。 -
请注意
qdapRegex::rm_url可以为您完成这项工作 -
这实际上是由您的操作系统引擎完成的。如果您的意图是使用字符类搜索 ....
" "的否定,那么您应该使用[^ ] -
即使修复了 \\s,它也不高兴。 @RichardScriven,qdapRegex 似乎无法处理位 URL?
标签: javascript regex r pcre