我有一個包含這個文件:正則表達式中,選擇第N匹配
<Row>
<Cell><Data ss:Type="String">INC000012486615</Data></Cell>
<Cell><Data ss:Type="String">abcd-efg-hij4-en:ddcs</Data></Cell>
<Cell><Data ss:Type="String">fs-hubraum-apps:kayw-de</Data></Cell>
<Cell><Data ss:Type="String">mn-def-seb01:sfyc-en</Data></Cell>
<Cell><Data ss:Type="String">00055s4dEN</Data></Cell>
<Cell><Data ss:Type="String"></Data></Cell>
<Cell><Data ss:Type="String">General Information</Data></Cell>
<Cell ss:StyleID="ce2"><Data ss:Type="DateTime">2017-06-28T16:24:35</Data>
</Cell><Cell><Data ss:Type="String">Public</Data></Cell>
<Cell><Data ss:Type="String">Hi John,
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Thanks,
Snow</Data></Cell>
</Row>
我寫道,選擇有價值的信息正則表達式:(?<=<Data[^>]*>)((.|\n)*?)(?=<\/Data>)
:只選擇裏面的數據裏面<Cell><Data>
。 (第1比賽:INC000012486615
,第二場比賽abcd-efg-hij4-en:ddcs
等)
我沒有成功修改我的正則表達式,您可以在此link
我希望能夠選擇使用正則表達式的第n個匹配測試。有什麼建議麼 ? PS:我必須使用正則表達式。 Splunk字段提取。
[**不要使用正則表達式解析XML **](https://stackoverflow.com/a/1732454/ 1954610)。使用解析器。 –
你好。我必須在Splunk字段提取器中使用Regex。此外,該文件結構不良xml。所以我不能使用XML解析器。 – belas
你的意思是「結構不好」?你提供的例子似乎很好。我不熟悉'splunk',但是一個快速的谷歌告訴我你可以使用'spath'來解析XML? http://docs.splunk.com/Documentation/Splunk/6.0/SearchReference/Spath –