正则表达式重复组

时间:2016-09-02 00:37:25

标签: regex

我有这个重复的小组

        <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>

我正在使用SoapUI的Regex断言来确保我的XML消息包含这些不同的元素。

我相信这是我最好的选择:\ (<Amenity>.+</Amenity>)\

但没有运气。任何想法将不胜感激。

最好的问候

1 个答案:

答案 0 :(得分:1)

解决方案是使用lookarounds。换句话说,这就是你想要的正则表达式:

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

如果您正在使用不支持外观的正则表达式引擎,则可以通过取<Amenity>.+<\/Amenity>匹配的内容然后删除与<\/?Amenity>匹配的所有内容来弥补这一点。