簡體   English   中英

正則表達式,匹配最后一個模式

[英]Regex, match the last pattern

如何匹配最后一次出現的正則表達式?

例如,我如何匹配[XXX]:

data[X][XX][XXX]

其中X,XX,XXX可以隨機分配。

我已經嘗試使用否定前瞻

\[.*?\](?!.*?\[.*?\])

但是第一個[與最后一個]將匹配不能給出正確結果的東西。

你得到這樣一個結果的原因是. 匹配[]以及除換行符之外的任何其他字符。 您可以使用否定字符類[^][]替換延遲點:

\[[^][]*\](?!.*?\[[^][]*\])

請參閱正則表達式演示

根據正則表達式的風格,你可能需要轉義[]在字符類中(在JS中]必須被轉義( [^\\][] )而在Java / ICU中你需要轉義它們( [^\\]\\[] ))。

你可以試試這個簡單:

.*(\[.*\])

它將匹配到最后一次出現,但將捕獲組1中[anything]最后[anything][anything] ,並且不必向前看

說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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