[英]How to get regex match on my scenario
我想匹配的URL在特定的基本URL字符串之后具有多余的字符。 基數可以是“ / home”或“ / home / accounts / {numeric_account_id}”。 我不需要捕捉任何比賽; 我只想測試是否有匹配項。
我做了一個正則表達式:
r'^/home(/accounts/\d+)?(/[A-Za-z0-9_\-]+)+/?$'
一些例子是:
上面的正則表達式錯誤地匹配了3和4。我嘗試更改“?” 之后將帳戶分組為“ *”,但這無濟於事。 似乎最后一組貪婪地匹配情況3和4。
什么是正確的正則表達式? 謝謝
試試這個正則表達式:
^/home(?:(?!/accounts/)|/accounts/\d+)(?:/[A-Za-z0-9_\-]+)+/?$
它將匹配/home
,然后:
(?!/accounts/)
:下一個不帶/accounts/
的空字符串,或者
/accounts/\\d+
: /accounts/
后跟數字。
之后,匹配路徑中允許的任何字符。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.