gpt4 book ai didi

ruby - 如何编写匹配包含数字的 URL 的模式?

转载 作者:数据小太阳 更新时间:2023-10-29 09:02:59 26 4
gpt4 key购买 nike

我正在编写一个爬虫,它必须遵循如下 URL:

http://www.example.com/121-blah-blah
http://www.example.com/721-blah-blah
http://www.example.com/1512-blah-blah

但不是这样的 URL:

http://www.example.com/category/1512-blah-blah

我应该如何编写模式来做到这一点?路径将以数字开头。

这是我到目前为止得到的:

%r[(\d+]

最佳答案

将字符串解析为 URI 对象,并将正则表达式仅应用于路径部分。转换为 URI 增加了额外检查的好处,例如 uri.absolute?。它还负责 uri 的各种可选部分,例如端口号或基本身份验证值。

uri = URI.parse(your_string)
uri.path =~ %r{^/\d+}

正则表达式中的 ^/ 确保匹配位于字符串的开头和前导斜杠之后。 \d+ 匹配任意数量的数字。如果你想在路径中的任何地方匹配一个数字,使用这个:

uri.path =~ %r{\d+}

这样的语句返回一个整数,表示第一个匹配项的索引,如果没有匹配项,则返回 nil

您可能想查看 Rubular用于调整正则表达式。

关于ruby - 如何编写匹配包含数字的 URL 的模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30849158/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com