You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何利用正则表达式移除URL中的..;类匹配内容以优化URL?

解决方法

首先调整你的正则表达式,让它更精准匹配目标模式,再用字符串替换功能把匹配到的内容替换为单个斜杠(避免出现多斜杠问题)。

调整后的正则

推荐使用:/(?:\.\.;+)+/g(全局匹配)

  • \/:精准匹配单个前置斜杠
  • (?:\.\.;+):非捕获组,匹配至少2个点+至少1个分号的组合
  • +:允许上述组合连续出现多次(比如/..;/..;/这类重复模式)
  • g:全局标志,确保替换所有符合条件的片段

各语言实现示例

Python

import re

# 测试目标URL集合
test_urls = [
    "abc.com/..;/abc",
    "abc.com/..;/..;/abc",
    "abc.com/..;;/abc"
]

pattern = r'/(?:\.\.;+)+/'
for url in test_urls:
    clean_url = re.sub(pattern, '/', url)
    # 可选:处理原URL可能存在的多斜杠情况
    clean_url = re.sub(r'/+', '/', clean_url)
    print(clean_url)
# 所有测试用例输出均为 abc.com/abc

JavaScript

const testUrls = [
    "abc.com/..;/abc",
    "abc.com/..;/..;/abc",
    "abc.com/..;;/abc"
];

const pattern = /\/(?:\.\.;+)+/g;
testUrls.forEach(url => {
    let cleanUrl = url.replace(pattern, '/');
    // 可选:合并连续多斜杠
    cleanUrl = cleanUrl.replace(/\/+/g, '/');
    console.log(cleanUrl);
});
// 所有测试用例输出均为 abc.com/abc

补充说明

如果你的场景需要匹配无前置斜杠的模式(比如abc.com..;/abc),可以把正则开头的\/换成\/?(匹配0或1个斜杠),但根据你给出的示例场景,应该不需要这种调整。

内容的提问来源于stack exchange,提问作者Shubhankar Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 17:50:13