2016-09-02 6 views
-2

Ich habe diese WiederholungsgruppeRegex sich wiederholende Gruppen

 <Amenity>Casino</Amenity> 
     <Amenity>Fitness Center</Amenity> 
     <Amenity>Bar/Cocktail Lounge</Amenity> 
     <Amenity>Restaurant</Amenity> 
     <Amenity>Free Parking</Amenity> 
     <Amenity>Outdoor Pool</Amenity> 
     <Amenity>Gift Shop</Amenity> 
     <Amenity>.+</Amenity> 
     <Amenity>Laundry/Dry Cleaning</Amenity> 
     <Amenity>Bellman</Amenity> 
     <Amenity>Concierge Desk</Amenity> 
     <Amenity>Room Service</Amenity> 
     <Amenity>Onsite Spa</Amenity> 
     <Amenity>Beauty Salon/Barber</Amenity> 
     <Amenity>ATM Available</Amenity> 
     <Amenity>Foreign Currency Exchange</Amenity> 

Und ich bin mit SoapUI der Regex Behauptung meine XML-Nachrichten diese unterschiedlichen Elemente enthalten, um sicherzustellen.

Ich glaube, das ist meine beste Wette ist: \ (<Amenity>.+</Amenity>)\

Aber kein Glück. Irgendwelche Ideen werden sehr geschätzt.

Mit freundlichen Grüßen

+0

Weitere Informationen darüber, was Sie eigentlich erfasst haben möchten, wären nett. Möchten Sie alles zwischen ' ' erfassen oder wollten Sie diese bestimmten aufgelisteten Elemente? –

+0

Ich möchte alles zwischen erfassen – Barthelo

Antwort

1

Die Lösung ist lookarounds zu verwenden. Mit anderen Worten ist es das, was die Regex Du wie folgt aussieht:

(?<=<Amenity>).+(?=<\/Amenity>) 

Wenn Sie einen Regex-Engine verwenden, die lookarounds nicht unterstützt, können Sie für das kompensieren, indem sie etwas von <Amenity>.+<\/Amenity> abgestimmt ist und dann alles entfernen, was zu <\/?Amenity> passt.