由于我们的Magento商店创建了重复的页面,因此我们正在尝试清理网站地图。我想使用正则表达式选择或反转选择链接到顶级URL的所有页面。
例如,我们要找到第一行-
/site/product
<<< / p>
/site/category/product/
/site/category/product
是否有办法在整个字符串中仅找到两个正斜杠实例,它们彼此不相邻?
谢谢您的帮助。
我已经尝试过这样的事情
(.*(?<!\/)$)
答案 0 :(得分:0)
您的模式(.*(?<!\/)$)
匹配除换行符之外的所有字符,直到字符串的结尾,然后断言左边不是正斜杠,这将使您获得第一个和第三个匹配项。
您可以从字符串^
的开头匹配2次正斜杠,然后再匹配1次以上的非正斜杠或换行符[^/\n]+
,然后声明字符串{{1 }}
$
答案 1 :(得分:0)
我想为这个问题提供快速解答,以防将来对其他人有帮助。由于我们的Magento商店设置不正确,我们的站点地图包含过多的重复网址。我们决定不手动提交包含20,000多个顶级URL的站点地图,而是自行删除顶级项目。
一点都不理想。
我们对站点地图PHP生成代码进行了调整,以提取顶级URL作为站点/类别/ id / ###。然后,我们使用Notepad ++对这些行添加了书签并删除了这些行。