.net 如何使用正则表达式删除重复的配置文件URL?
我一直在尝试修复正则表达式。但是我想不出来。我总是得到重复的网址。需要删除重复的URL。如果我能得到你们方面的解释会很有帮助的。谢谢 这是我试过的表达方式.net 如何使用正则表达式删除重复的配置文件URL?,.net,regex,vb.net,filtering,.net,Regex,Vb.net,Filtering,我一直在尝试修复正则表达式。但是我想不出来。我总是得到重复的网址。需要删除重复的URL。如果我能得到你们方面的解释会很有帮助的。谢谢 这是我试过的表达方式 ((http|https):\/\/|)(www\.|)facebook\.com\/[a-zA-Z0-9.]{1,} 我需要过滤重复的URL。试试看 ((?:https?:\/\/)?(?:www\.)?facebook\.com\/[\w.]*)(?=[^w.])(?!.*\1) 它是您的正则表达式(稍微简化),添加了一个负面的前瞻性
((http|https):\/\/|)(www\.|)facebook\.com\/[a-zA-Z0-9.]{1,}
我需要过滤重复的URL。试试看
((?:https?:\/\/)?(?:www\.)?facebook\.com\/[\w.]*)(?=[^w.])(?!.*\1)
它是您的正则表达式(稍微简化),添加了一个负面的前瞻性,以确保URL不会在稍后的文本中重复。这意味着列表中只保留最后一个匹配项
((?:https?:\/\/)?(?:www\.)?facebook\.com\/[\w.]*)
解释:
(:?
…)
生成未捕获的组<代码>?使其前面的字符或组成为可选的(?=[^w.])
-积极的前瞻性是确保整个URL匹配(后面不是单词字符或点)(?!.*\1)
是一个消极的前瞻性问题,确保前面有任何(*
)的捕获组(在()
之间捕获的URL部分)不会重复。要使这成为一个好问题,添加示例输入、预期结果和实际结果。删除代码中的重复项可能比删除正则表达式中的重复项更容易。@Henk Holterman您可以在这里检查&我在问题中也添加了链接。是的,但问题本身应该是独立的。这是一个很好的回答和解释。谢谢