2015-06-30 85 views
1

我需要解析ws服務SOAP響應之間和之間的字符串。我用下面的模式來匹配字符串 模式: -java中的正則表達式匹配

<ns2:resut>(.*)<\\/ns2:resut> 

對於字符串1它工作正常,但在一些像串2響應是空的響應。

字符串1: -

<soapenv:Body><ns2:updateCustomerResponse><ns2:resut>ATM: T, EMAIL: T, FAX: T, INTERNET SUBE: T, ISKULTURSANAT: T, ISTEYATIRIM: T, IVR: T, KUMBARAFON: T, POSTA IS: T, MAXIMUM: T, MOBIL KANALLAR SOSYAL MEDYA: T, SMS: T, TEL GSM: T, TEL EV: T, TEL IS: T</ns2:resut></ns2:updateCustomerResponse></soapenv:Body> 

字符串2: -

<soapenv:Body><ns2:updateCustomerResponse><ns2:resut/></ns2:updateCustomerResponse></soapenv:Body> 

我怎樣才能實現同時匹配與單個圖案中的字符串。字符串2的預期結果爲空或空白。

任何幫助,將不勝感激。

感謝,

+0

第一個問題是,這是什麼(高亮)( 。*)<'\\'/ ns2:resut>? – sln

+1

SOAP是XML。有沒有理由不想使用XML解析器? – MadConan

+0

我手裏有數以百萬計的請求/響應,並且使用java 8新的lambda表達式,我發現它比xml解析器快得多。 – Shivam

回答

0

嘗試following.Tested在Regexe

<ns2:resut((>(.*)</ns2:resut>)|/>) 

又讀怎麼寫regex與conditions.Sample Tutorial

+0

我在group3中得到了我的預期結果。我也將通讀本教程。 謝謝! – Shivam