Regex的捕獲重疊的匹配所以我需要一個正則表達式,其可以收集從信道,其中所述Cid
是由id
和visibility
多個可變配對共享Cid
,id
和visibility
屬性值。我似乎只能搶到第一場比賽(0136, 10000, 21
),而不是第二場或任何其他賽事比賽,例如(0136, 5000, 21
)。請記住,XML有多個通道。具有固定點
<channel Cid="0x0136">
<type>A</type>
<characteristics var1="0.1" var2="V" var3="3">
<custom_range id="10000" visibility="21"></custom_range>
<custom_range id="5000" visibility="21"></custom_range>
</characteristics>
<visibility>0</visibility>
</channel>
我的正則表達式是:
/\bCid?\b="0x([0-9a-fA-F]+)"(?=(?!Cid)(?s).*id="([0-9]+)" visibility="([0-9]+)")/g
有一個結束標記特徵>太多。我編輯和格式化了這個例子。這更好嗎? – buckley