簡體   English   中英

正則表達式以獲取兩個字符串之間的所有字符串

[英]RegEx to get ALL Strings between two Strings

我似乎與RegEx有着愛恨交織的關系,因為我喜歡它的強大功能,但與此同時,我還不太了解它的所有細微差別。

我有相當長的JSON提要,我需要解析和捕獲兩個特定字符串之間的所有匹配項。 提供了regex101.com示例的鏈接,其中包含一些JSON結果。

regex101.com示例

我正在嘗試匹配每個/content/usergenerated/jcr:content之間的每個字符串

...

我想我真的應該嘗試匹配的是,與開頭的字符串/content/webAppName/en/home和結束 /jcr:content

我關心的路徑始終以/content/webAppName/en/home

您必須使用與數字序列匹配的“正向預讀”,如果它們后面跟有一些https://regex101.com/r/fU1iD1/4

只需將要刪除的兩件事用括號括起來,然后從輸出中將其刪除。 所以...

(\\/content\\/usergenerated)(.*)(\\/jcr\\:content)

取而代之

/2

這是兩者中間的一切。

編輯:對不起,沒有看您的示例:)-有一個刪除的答案,說要添加g修飾符,看起來很有效。

/內容/ usergenerated /內容/ webAppName / EN /家庭([A-ZA-Z / - ] +)/ JCR:內容

這應該工作。 它匹配4個中的3個,不知道為什么不匹配em之一。 您可以在循環中使用exec(),直到它返回null並獲取object [1],其中包含第一個也是唯一一個捕獲組的數據。

祝一切順利。

PS:我在正則表達式的選項中使用了gmi。

暫無
暫無

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

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