[英]Easy RegExp doesnt match
我想匹配那些網址
de-de/checkout/
de-de/checkout/confirm/
與RegExp。 我已經嘗試過/(.*)\\/checkout\\/(|$|confirm\\/$)/g
,但是我只有兩個匹配項
de-de/checkout/
de-de/checkout/
這可能很簡單,但是我不知道為什么它不起作用。
謝謝你的幫助!
(.*)\/checkout\/(confirm\/)?
regexr.com中的兩個匹配都在考慮將結帳或確認作為關鍵字
刪除前導|
在您的交替中:
/(.*)\/checkout\/($|confirm\/$)/g
正則表達式將選擇無界替代組中最短的替代方案,並為其提供了長度為0的匹配項。
在當前狀態下,您的替換意思是“什么都不是,或者字符串的末尾,或者確認/后跟字符串的末尾”。
這是一個容易一點在我看來如下:
(.+?)?\/checkout\/(?:confirm\/)?
盡管我不確定您是否需要簡單地匹配url(真/假)或捕獲de-de
或您提供的示例之前或之后的內容。
confirm
被包裝到一個非捕獲組中,因為它是可能存在或不存在的唯一路徑組件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.