Search code examples
javaphpregexxmlperl

Find everything between two XML tags with RegEx


In RegEx, I want to find the tag and everything between two XML tags, like the following:

<primaryAddress>
    <addressLine>280 Flinders Mall</addressLine>
    <geoCodeGranularity>PROPERTY</geoCodeGranularity>
    <latitude>-19.261365</latitude>
    <longitude>146.815585</longitude>
    <postcode>4810</postcode>
    <state>QLD</state>
    <suburb>Townsville</suburb>
    <type>PHYSICAL</type>
</primaryAddress>

I want to find the tag and everything between primaryAddress, and erase that.

Everything between the primaryAddress tag is a variable, but I want to remove the entire tag and sub-tags whenever I get primaryAddress.

Anyone have any idea how to do that?


Solution

  • It is not a good idea to use regex for HTML/XML parsing...

    However, if you want to do it anyway, search for regex pattern

    <primaryAddress>[\s\S]*?<\/primaryAddress>
    

    and replace it with empty string...