如何使用正則運算式從 URL 路徑名中獲取斜杠之間的所有字串,直到第一個詢問標記為止?
例如,我可以擁有:
/abc/def/ghi?foo=bar → ['abc','def','ghi']
/abc/xyz → ['abc','xyz']
abc/xyz → ['abc','xyz']
abc/xyz/ → ['abc','xyz']
我試過這個javascript代碼:
'/abc/def/ghi?foo=bar'.match(/\w /)
但我只得到abc
.
uj5u.com熱心網友回復:
將我的評論轉換為答案,以便將來的訪問者輕松找到該解決方案。
您可以將此正則運算式與環顧斷言一起使用:
/(?<=^|\/)[^\/?] (?=[\/?]|$)/gm
正則運算式演示
正則運算式分解:
(?<=^|\/)
: Lookbehind 斷言行開始或/
在先前位置的存在[^\/?]
: 匹配任何不是/
和的字符的 1?
(?=[\/?]|$)
: 向前斷言/
在下一個位置存在行尾或或?`
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/507720.html
標籤:javascript 正则表达式
上一篇:根據url匹配顯示不同的按鈕