您好,我有以下字串:
https://m.facebook.com/story.php?story_fbid=123345&id=12334&__xts__[0]=12.AboYsxZUMIF4f8fZJLZ0LVrJZJ1jxGxzsmM2lJZJ8JoGFxO1UgViHWKvUSGwxVjkzwOjfCxL-FxJY9pfgvYP6L8Kwdd4tHZl-V1OaVvl40agK3dimgois_14R0sr9rSelJ5rt0WTU5fRoHNeGv2TR3sxrewYBf2wzfMQwDKV4pV4WbLkbqFd0f1mbcpx7VjMduLhbj2MXRHO_ERg1ssEesWbCHAzvZNSmXP6LycMlYHhbaoi6m7gTpBswQR-VBkdfjk3289dfsfsdfoIgfSxaxr9oa6FATiaF2V54-QWQOKgYtuO87YzKFnNh-m_mGgVkCYIA7-YwEK10zZCmSxEtSrmWSl5ZzSXNRpMg&__tn__=%2As*s
我需要用正則運算式提取這部分:
https://m.facebook.com/story.php?story_fbid=123345&id=12334
所以我創建了這個正則運算式(在 Pthon 中完美運行)
https?://(www\.|m\.)(facebook\.com)\/story\.php\?story_fbid=[0-9] &id=[0-9]
我嘗試將其包含在機器人框架腳本中:
*** Settings ***
Library String
*** Variables ***
${pattern} SEPARATOR=
... 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__[0]=12.AboYsxZUMIF4f8fZJLZ0LVrJZJ1jxGxzsmM2lJZJ8JoGFxO1UgViHWKvUSGwxVjkzwOjfCxL-FxJY9pfgvYP6L8Kwdd4tHZl-V1OaVvl40agK3dimgois_14R0sr9rSelJ5rt0WTU5fRoHNeGv2TR3sxrewYBf2wzfMQwDKV4pV4WbLkbqFd0f1mbcpx7VjMduLhbj2MXRHO_ERg1ssEesWbCHAzvZNSmXP6LycMlYHhbaoi6m7gTpBswQR-VBkdfjk3289dfsfsdfoIgfSxaxr9oa6FATiaF2V54-QWQOKgYtuO87YzKFnNh-m_mGgVkCYIA7-YwEK10zZCmSxEtSrmWSl5ZzSXNRpMg&__tn__=%2As*s
${matchesp}= Get lines matching regexp ${url} ${pattern}
run keyword if $matchesp Log To Console OK MATCHED!
但它根本不起作用(不提供任何匹配)。我無法理解我做錯了什么。謝謝
uj5u.com熱心網友回復:
使用Get Regexp Matches關鍵字而不是Get Lines Matching Regexp.
Get Lines Matching Regexp 用于在多行字串中查找特定行。
代碼:
*** Settings ***
Library String
*** Variables ***
${pattern} SEPARATOR=
... 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__[0]=12.AboYsxZUMIF4f8fZJLZ0LVrJZJ1jxGxzsmM2lJZJ8JoGFxO1UgViHWKvUSGwxVjkzwOjfCxL-FxJY9pfgvYP6L8Kwdd4tHZl-V1OaVvl40agK3dimgois_14R0sr9rSelJ5rt0WTU5fRoHNeGv2TR3sxrewYBf2wzfMQwDKV4pV4WbLkbqFd0f1mbcpx7VjMduLhbj2MXRHO_ERg1ssEesWbCHAzvZNSmXP6LycMlYHhbaoi6m7gTpBswQR-VBkdfjk3289dfsfsdfoIgfSxaxr9oa6FATiaF2V54-QWQOKgYtuO87YzKFnNh-m_mGgVkCYIA7-YwEK10zZCmSxEtSrmWSl5ZzSXNRpMg&__tn__=%2As*s
${matchesp}= Get Regexp Matches ${url} ${pattern}
Log To Console \n${matchesp}
輸出:
==============================================================================
String should match pattern ..
['https://m.facebook.com/story.php?story_fbid=123345&id=12334']
String should match pattern | PASS |
------------------------------------------------------------------------------
Main | PASS |
1 test, 1 passed, 0 failed
==============================================================================
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/354314.html
上一篇:是否有查找交易數量的功能?
下一篇:正則運算式拆分格式不正確的地址
