Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何使用正则表达式删除重复的配置文件URL?_.net_Regex_Vb.net_Filtering - Fatal编程技术网

.net 如何使用正则表达式删除重复的配置文件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) 它是您的正则表达式(稍微简化),添加了一个负面的前瞻性

我一直在尝试修复正则表达式。但是我想不出来。我总是得到重复的网址。需要删除重复的URL。如果我能得到你们方面的解释会很有帮助的。谢谢

这是我试过的表达方式

((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您可以在这里检查&我在问题中也添加了链接。是的,但问题本身应该是独立的。这是一个很好的回答和解释。谢谢