簡體   English   中英

簡易RegExp不匹配

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM