2 回答

TA貢獻1993條經驗 獲得超6個贊
您可以使用此正則表達式,它使用交替來確?;韭窂胶蟾蚧蛐形?code>./
$
\/api\/ping(?=\.|\/|$)\S*
解釋:
\/api\/ping
- 按字面意思匹配文本/api/ping
(?=\.|\/|$)
- 向前看,確保下面的內容是文字點或斜杠或行尾.
/
$
\S*
- 可選擇跟隨路徑后面的任何非空格字符
在正則表達式中,字符集的使用是不正確的,您不需要轉義點,并且在字符集中不需要交替,并且不能通過放置在字符類中來完成,并且由于字符類看起來嵌套,因此它不是必需的,也不是正確的做法。我猜你想讓你的正則表達式像這樣,/api/ping[[\.|\/].*]?
[]
.
|
|
\/api\/ping([.\/].*)?$
請注意,一旦您放入任何內容,那么它只被計為一個字符,允許字符集中包含的所有內容,因此它允許點或斜杠,并注意您需要轉義為[]
.
/
/
\/

TA貢獻1946條經驗 獲得超3個贊
您的模式使用一個字符類,該字符類將與列出的任何字符類匹配,也可以將其編寫為 .[[./|]
它不匹配,因為字符類必須至少匹配 1 次,因為它不是可選的。/api/ping
您可以使用交替來匹配,然后斷言字符串的結尾,或者通過重復 0 次或更多次匹配正斜杠,然后不是正斜杠,然后是點和 1+ 次,然后是點和擴展來匹配結構。/api/ping
|
/api/ping(?:(?:/[^/\s]+)*\.\S+|$)
這將匹配
/api/ping
按字面意思匹配(?:
非捕獲組(?:/[^/\s]+)*
重復分組結構 0+ 次匹配,然后 1+ 次不匹配或空白字符/
/
\.\S+
匹配一個點和 1 倍以上的非空格字符|
或$
斷言字符串的結尾)
關閉非捕獲組
- 2 回答
- 0 關注
- 288 瀏覽
添加回答
舉報