我一直在尝试修复正则表达式。但我不知道。 Shader。我总是得到重复的URL。需要删除重复的URL。如果我从您身边得到解释,这将很有帮助。谢谢。
这是我尝试过的表达式
((http|https):\/\/|)(www\.|)facebook\.com\/[a-zA-Z0-9.]{1,}
我需要过滤重复的URL。
答案 0 :(得分:1)
尝试
stdout
这是您的正则表达式(略有简化),并添加了否定的外观,以确保该URL在文本后面不会重复。这意味着仅最后匹配项保留在列表中。
stderr
This will explain it for you graphically.。
精简版说明:
((?:https?:\/\/)?(?:www\.)?facebook\.com\/[\w.]*)(?=[^w.])(?!.*\1)
... ((?:https?:\/\/)?(?:www\.)?facebook\.com\/[\w.]*)
组成一个未捕获的组。 (:?
使其前面的字符或组为可选。 )
-一个积极的展望是确保整个URL都匹配(紧跟着不是单词或点的东西)。 ?
是一种否定的前瞻性,确保不会重复捕获组(在(?=[^w.])
之间捕获的URL部分),然后再重复任何内容((?!.*\1)
)。