在站点地图的网址字符串中找到多个“ /”正斜杠

时间:2019-05-21 07:32:58

标签: regex url sitemap

由于我们的Magento商店创建了重复的页面,因此我们正在尝试清理网站地图。我想使用正则表达式选择或反转选择链接到顶级URL的所有页面。

例如,我们要找到第一行-

/site/product <<< / p>

/site/category/product/

/site/category/product

是否有办法在整个字符串中仅找到两个正斜杠实例,它们彼此不相邻?

谢谢您的帮助。

我已经尝试过这样的事情

(.*(?<!\/)$)

2 个答案:

答案 0 :(得分:0)

您的模式(.*(?<!\/)$)匹配除换行符之外的所有字符,直到字符串的结尾,然后断言左边不是正斜杠,这将使您获得第一个和第三个匹配项。

您可以从字符串^的开头匹配2次正斜杠,然后再匹配1次以上的非正斜杠或换行符[^/\n]+,然后声明字符串{{1 }}

$

Regex demo

答案 1 :(得分:0)

我想为这个问题提供快速解答,以防将来对其他人有帮助。由于我们的Magento商店设置不正确,我们的站点地图包含过多的重复网址。我们决定不手动提交包含20,000多个顶级URL的站点地图,而是自行删除顶级项目。

一点都不理想。

我们对站点地图PHP生成代码进行了调整,以提取顶级URL作为站点/类别/ id / ###。然后,我们使用Notepad ++对这些行添加了书签并删除了这些行。