我有一个很长的HTML文件,其中包含组织名称及其URL。每个组织的"部分"在代码中划分了单词" organization"接下来是很多代码,其URL位于该代码中,并以" organization"结尾。
例如:
组织 - 许多代码(URL位于某处) - 组织
我曾尝试使用正则表达式来搜索和提取网址,但无济于事。
organization(?<Protocol>\w+):\/\/(?<Domain>[\w@][\w.:@]+)\/?[\w\.?=%&=\ @/$,]*organization
我怀疑我的问题在于我试图通过使用单词&#34; organization&#34;来划分对URL的搜索,但我不确定。
答案 0 :(得分:0)
从这里尝试第1组:
organization.*\b(\w+://[\w.?%&=@/$,-]+).*?organization
答案 1 :(得分:0)
您当前的正则表达式正在搜索两个“组织”实例之间夹杂的内容。如果“组织”和您的网址之间存在任何字符,则您需要为任何实例(.*?
)引入非贪婪匹配,如果混合中有换行符,您将会需要使用(?:.|\n)*?
。
所以你的正则表达式变成了:
organization
的 (?:.|\n)*?
强> (?<Protocol>\w+):\/\/(?<Domain>[\w@][\w.:@]+)\/?[\w\.?=%&=\ @/$,]*
的 (?:.|\n)*?
强> organization
(由于粗体插入,这个错误的出现有空格,但它没有。如果你选择它并复制/粘贴,它将正确粘贴空格)