您缺少重要信息,例如:您对哪种类型的正则表达式感兴趣。我假设您指的是与 perl 兼容的正则表达式。
无论如何,这将有助于指导、理论和回答,如果您让我知道使用的引擎/语言,我可能会帮助调整它以满足您的需求。
我使用类似的东西来收集、预处理、过滤和转发来自不同地方的相关新闻提要。 MSDN 有这个相对 URI 的问题,这是我的配置:
'msdn' => {
'action' => [
{
'tag' => 'get_url_as_content'
},
...
...
{
'regex' => 's/<img( [^\\/>]*)src="\\//<img$1src="http:\\/\\/blogs.msdn.com\\//gsi',
'tag' => 'mod_content'
},
{
'regex' => 's/<a( [^\\/>]*)href="\\//<a$1href="http:\\/\\/blogs.msdn.com\\//gsi',
'tag' => 'mod_content'
}
...
...
]
},
在这里你可以看到我正在使用的两个正则表达式。
这个恢复img和src单词之间的内容,然后使URLs绝对。
s/<img( [^\/>]*)src="\//<img$1src="http:\/\/blogs.msdn.com\//gsi
同样适用于锚标签...
s/<a( [^\/>]*)href="\//<a$1href="http:\/\/blogs.msdn.com\//gsi
这些已经工作了很长一段时间,超过 3 年没有问题:-)
希望这会有所帮助。