簡體   English   中英

在沒有最外面的括號的情況下匹配PCRE中的括號內容

[英]Matching parenthesis content in PCRE without outermost parens

我需要提取不平衡的paren結構的內容。 在PCRE手冊中,我找到了匹配平衡括號的解決方案。

<\[ ( (?>[^(<\[|\]>)]+) | (?R) )* \]>

為了我的測試

<[<[ab<[cd]>]><[ef]>

它提取

0.0: <[ab<[cd]>]>
0.1: <[ef]>

但是我想提取相同的內容而沒有最外層的括號:

0.0: ab<[cd]>
0.1: ef

有人可以指出解決方案嗎?

好吧,從您的正則表達式的外觀來看,最外層外殼中的內容(在該術語的任何常規用法中都不是括號)已經在括號組中捕獲了。 我不知道您正在使用PCRE庫的上下文,但是所需的提取內容應該出現在“匹配項1”(整個模式匹配項是匹配項0)中。 即您的數據應該已經看起來像:

0.0: <[ab<[cd]>]>
0.1: <[ef]>
1.0: ab<[cd]>
1.1: ef

暫無
暫無

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

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