根据特定关键字提取网址

时间:2016-08-26 05:42:24

标签: regex

我正在抓取某些网站的数据,我希望从特定网址中提取数据。其中一个例子就是以*devicehelp.optus.com.au/web/*为例。 PFB我的正则表达式 -

/[^]*devicehelp\.optus\.com\.au\/web\/[^.]*/

这个正则表达式并没有给我完美匹配我想要的东西。有人可以让我知道我在这里失踪了什么吗?

测试网址 -

*devicehelp.optus.com.au/web/*
http://www.top.abc.something.optus.devicehelp.optus.com.au/web/web/web/

当我在http://regexr.com/上测试时,此正则表达式有效但https://regex101.com/上没有

1 个答案:

答案 0 :(得分:1)

在大多数正则表达式中,[^]是一个无效的正则表达式构造,而在您测试的网站(regexr.com)上,这将被解析为任何字符(因为正则表达式正则表达式味道是JavaScript)。

匹配任何字符,但换行符号为零次或多次,您可以使用.*

.*\bdevicehelp\.optus\.com\.au\/web\/.*

\b是一个单词边界,以便将devicehelp作为整个单词匹配(如果您不打算将其作为整个单词匹配,则可以将其删除)。应该转义点以匹配文字点。