我正在尝试为新网站进行数百次301重定向。
大约400个商店位置中的每一个都必须从旧网址重定向到新网址。旧网址如下所示:
**goal:** i need the following data:
但有时候(比如在Google或Bing中编入索引),网址后面的查询字符串也很长,例如:
https://example.com/stores/-/details/store/245
我最初使用了一个简单的贪婪表达式,如
https://example.com/stores/-/details/store/245?utm_source=Yext&StoreListings&utm_store_campaign=245
但这会将商店2,24和245重定向到/ stores / - / details / store / 2。
然后我把它改成了懒惰的量词
/stores/-/details/store/245.*
这正确地匹配了整个数字,但现在的问题是它将匹配/ 2或/ 24或/ 245,但没有别的。也就是说,它只匹配数字,但如果查询字符串之类的数字后面有任何内容,则它将不匹配。
如何获得与整个数字(2,24或245)匹配的正则表达式,无论是否包含任何内容?
答案 0 :(得分:1)
使用\b
匹配正则表达式中的单词边界,然后.*
匹配其余部分。这会使2
与245
不匹配,因为2
和4
之间没有字边界。
/stores/-/details/store/2\b.*