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

Python正则表达式报错re.error: multiple repeat at position 7求助

解决URL提取rbl参数时的正则错误

错误原因

你的正则表达式r"rbl=(.*+)"存在语法问题:*和+都是正则量词,不能连续叠加使用。.*已经表示匹配任意字符(除换行)0次或多次,后续的+属于重复定义量词,直接触发re.error: multiple repeat报错。

解决方案1:修正正则表达式

改用[^&]+匹配rbl参数的值——因为URL参数用&分隔,这样能精准匹配到下一个参数前的内容,避免匹配到多余字符:

import re
url = 'https://uk.indeed.com/jobs?q=United+Kingdom&rbl=London&jlid=833c779eabe84c9f'
ab = re.search(r"rbl=([^&]+)", url)
if ab:
    print(ab.group(1))  # 输出 London

解决方案2:使用标准库解析URL(更健壮)

推荐用Python自带的urllib.parse模块处理URL参数,这种方法能兼容各种参数顺序、特殊字符场景,比正则更可靠:

from urllib.parse import urlparse, parse_qs

url = 'https://uk.indeed.com/jobs?q=United+Kingdom&rbl=London&jlid=833c779eabe84c9f'
parsed_url = urlparse(url)
params = parse_qs(parsed_url.query)
rbl_value = params.get('rbl', [''])[0]
print(rbl_value)  # 输出 London

内容的提问来源于stack exchange,提问作者Sriram Chowdary

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 17:27:05