如何使用正则表达式(RegEx)缩短TripAdvisor餐厅评论URL?
解决TripAdvisor餐厅评论URL缩短的正则表达式方案
要将TripAdvisor的长评论URL(如https://www.tripadvisor.com/Restaurant_Review-g34515-d12538286-Reviews-Satu_li_Canteen-Orlando_Florida.html)缩短为https://www.tripadvisor.com/Restaurant_Review-g34515-d12538286,可以用以下两种正则思路实现:
方案1:替换删除冗余部分
直接匹配-Reviews及之后的所有内容,替换为空字符串即可:
- 正则表达式:
-Reviews.*$ - 逻辑说明:
-Reviews定位到冗余内容的起始标记,.*匹配后续任意字符(不含换行),$锚定字符串结尾,确保一次性删除所有末尾冗余内容。
代码示例
JavaScript:
const longUrl = "https://www.tripadvisor.com/Restaurant_Review-g34515-d12538286-Reviews-Satu_li_Canteen-Orlando_Florida.html"; const shortUrl = longUrl.replace(/-Reviews.*$/, ""); // 输出目标短链接
Python:
import re long_url = "https://www.tripadvisor.com/Restaurant_Review-g34515-d12538286-Reviews-Satu_li_Canteen-Orlando_Florida.html" short_url = re.sub(r"-Reviews.*$", "", long_url) // 输出目标短链接
方案2:捕获需要保留的部分
通过捕获组提取URL中需要保留的核心段:
- 正则表达式:
^(https://www\.tripadvisor\.com/Restaurant_Review-g\d+-d\d+) - 逻辑说明:
^锚定字符串开头,括号内的捕获组精确匹配到-d加数字的结尾(即目标短链接的完整内容),提取该捕获组即可得到结果。
代码示例
Python:
import re long_url = "https://www.tripadvisor.com/Restaurant_Review-g34515-d12538286-Reviews-Satu_li_Canteen-Orlando_Florida.html" match_result = re.match(r"^(https://www\.tripadvisor\.com/Restaurant_Review-g\d+-d\d+)", long_url) if match_result: short_url = match_result.group(1) // 输出目标短链接
内容的提问来源于stack exchange,提问作者Ryan
相关产品推荐
相关产品推荐

