亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Python - 字符串/正則表達式匹配

Python - 字符串/正則表達式匹配

Helenr 2023-05-09 09:25:36
我正在嘗試匹配如下內容以匹配傳入的動態 API 路徑。*這是一個精確的字符串比較,但是應該忽略和匹配對應于通配符的傳入字符串位置,因為它可以是任何東西。/v1/*/test應該匹配 /v1/jnjnjnjn/test 但不應該匹配/v0/knknkk/test/test/v1/\*/test/\* 應該匹配 /v1/niniiuhi/test/njnjnj 但不應該匹配/v1/niniiuhi/test/njnjnj/knknkmkm我試過下面的。re.search('v1/.*/test', 'v1/vhvhv98988/test/test')但它同時適用于v1/njnjnj/test和v1/njnjnj/test/test。任何幫助將不勝感激?提前致謝
查看完整描述

1 回答

?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

如果*應該只匹配一個組件,我們需要/從匹配中排除,或者特別包括那些允許的字符。

  • re.search(r'^/v1/[^/]*/test$', '/v1/jnjnjnjn/test')/將匹配通配符組件中除 a 以外的任何內容。

  • re.search(r'^/v1/[a-z0-9_-]*/test$', '/v1/jnjnjnjn/test')將匹配通配符組件中的小寫字母、數字、下劃線和破折號。

通常第二種選擇更安全,但這取決于您的要求。

在這兩種情況下,您都應該將搜索錨定^在開頭和$結尾,除非您確實想要搜索子字符串。


查看完整回答
反對 回復 2023-05-09
  • 1 回答
  • 0 關注
  • 165 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號