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

Robotframework正则在Python可运行但匹配失败问题求助

问题原因排查

1. 正则拼接引入多余空白

你使用SEPARATOR=拼接多行正则片段时,每个片段前后的空格(比如https?尾部的空格、://头部的空格)都会被直接拼入最终的正则表达式,导致正则里出现了原URL中不存在的空白字符,自然无法匹配。

2. 关键字使用错误

Get Lines Matching Regexp的作用是筛选输入内容中整行完全匹配正则的行,默认会按行拆分输入,且要求整行内容和正则匹配,你的需求是从单行URL中提取符合规则的子串,应该用Get Regexp Matches关键字。


修正后的脚本

*** Settings ***
Library           String

*** Variables ***
# 直接写单行正则避免拼接空白问题,Robot中反斜杠需要双写转义
${pattern}        https?://(www\\.|m\\.)facebook\\.com/story\\.php\\?story_fbid=[0-9]+&id=[0-9]+


*** Test Cases ***
String should match pattern
    ${url}=     Set Variable    https://m.facebook.com/story.php?story_fbid=123345&id=12334&__xts__%5B0%5D=12.AboYsxZUMIF4f8fZJLZ0LVrJZJ1jxGxzsmM2lJZJ8JoGFxO1UgViHWKvUSGwxVjkzwOjfCxL-FxJY9pfgvYP6L8Kwdd4tHZl-V1OaVvl40agK3dimgois_14R0sr9rSelJ5rt0WTU5fRoHNeGv2TR3sxrewYBf2wzfMQwDKV4pV4WbLkbqFd0f1mbcpx7VjMduLhbj2MXRHO_ERg1ssEesWbCHAzvZNSmXP6LycMlYHhbaoi6m7gTpBswQR-VBkdfjk3289dfsfsdfoIgfSxaxr9oa6FATiaF2V54-QWQOKgYtuO87YzKFnNh-m_mGgVkCYIA7-YwEK10zZCmSxEtSrmWSl5ZzSXNRpMg&__tn__=%2As%2As
    # 提取所有匹配的子串,limit=1只取第一个匹配结果
    ${matches}=  Get Regexp Matches  ${url}  ${pattern}  limit=1
    Run Keyword If  ${matches}  Log To Console  OK MATCHED!  ${matches[0]}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 08:15:04