【问题标题】:R regular expression: http matchingR正则表达式:http匹配
【发布时间】:2012-07-10 12:26:41
【问题描述】:

我在使用正则表达式匹配 http 链接时遇到问题。我有一个模式,我想从网站源代码中提取。源代码有 200 多行,其中包含大量 HTML 乱码,例如 </html><body... useless links useless images'

我需要的 http 链接属于这种模式:

<a href"http:www.google.com/....1,1">
<a href"http:www.google.com/....2,2">
<a href"http:www.google.com/....3,3">

我只想获取 http 链接,它们的独特模式是结尾。请帮忙,我在 gusb、regxpr 和 grep 的实验中被困了好几个小时。

【问题讨论】:

    标签: regex r


    【解决方案1】:

    正则表达式很难与通用 URL (URL Matching) 匹配,但是如果您一直希望匹配该确切的模式,您可以试试这个

    `http:www\.google\.com/.*?(\d+),\1`
    

    这将搜索 http:www.google.com 后跟任何内容,并在逗号的每一侧以相同的两个数字结尾,这就是您希望从显示的模式中看到的。

    【讨论】:

    • 请注意,@ttmaccer 将反斜杠加倍。您需要为您的 R 正则表达式字符串执行此操作,我花了一段时间才弄清楚。
    • @ttmaccer。我认为这只找到最后一次出现。如果我将 OP 的文本用单引号括起来并分配给 text,那么您的代码将返回 "3,3"。有什么方法可以获得"1,1", "2,2" "3,3"的向量?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-30
    • 2011-05-01
    相关资源
    最近更新 更多