我試圖提取url字符串的特定部分。一個簡單的例子是尋找以「who」或「what」開頭的任何字符串,其長度爲5或10個字符,並停止匹配任何非字母數字字符串正則表達式與字符數限制,特定起始字符和終止符匹配
例如:
http://www.test.com/who12/foo
- >who12
// 5焦炭比賽開始誰,在/
http://www.test.com/who1234567/foo
結束 - >who1234567
// 10字符的比賽開始誰,在/
結束- >what1
// 5字符字符串的結束比賽
http://www.test.com/what1?param=true
- >what1
// 5字符匹配上破?
我試過設置的東西了 here
它在5個和10個字符方案中的/上斷開,但在?
情況下失敗,並且匹配位於字符串的末尾。
有沒有更簡單的方法來完成這個?
這也可以簡化一點長度相同的前綴:https://regex101.com/r/9N5a55/1 –
@ john_ryan:你的意思是*後綴*(交替的右邊是什麼)。但是,方法是一樣的。 –
我沒有我認爲所以我的意思是說,如果前綴長度相同(在我發佈了誰的情況下,爲什麼都是3),則不需要添加'[^ \ /?\ s] {2}'(或一些變體)到每個前綴以滿足最小長度,他們可以直接或直接在一起。無論如何,我認爲你的答案對於不同的前綴長度(即誰和什麼)更有用 –