In RegEx
möchte ich das Tag und alles zwischen zwei XML tags
finden, wie zum Beispiel:
<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>
Ich möchte das Tag und alles zwischen primaryAddress
finden und löschen.
Alles zwischen dem primaryAddress
-Tag ist eine Variable, aber ich möchte das gesamte Tag und die Untertags entfernen, wenn ich primaryAddress
bekomme.
Hat jemand eine Idee, wie das geht?
Wenn Sie es trotzdem möchten, suchen Sie nach Regex-Muster
<primaryAddress>[\s\S]*?<\/primaryAddress>
und ersetze es durch einen leeren String ...
Sie sollten in der Lage sein, es mit folgendem zu vergleichen: /<primaryAddress>(.+?)<\/primaryAddress>/
Der Inhalt zwischen den Tags befindet sich in der übereinstimmenden Gruppe.
auf diese Weise können die äußersten Layer-Tags von Tags erfasst werden, sogar mit Attributen in der Seite oder ohne End-Tags
(<!--((?!-->).)*-->|<\w*((?!\/<).)*\/>|<(?<tag>\w+)[^>]*>(?>[^<]|(?R))*<\/\k<tag>\s*>)
edit: Wie im Kommentar oben erwähnt, reicht regex nicht immer aus, um xml zu analysieren. Wenn Sie versuchen, den regex an die Situation anzupassen, wird er länger, aber immer noch unbrauchbar
Es ist nicht gut, diese Methode zu verwenden, aber wenn Sie sie wirklich mit regex .__ teilen wollen.
<primaryAddress.*>((.|\n)*?)<\/primaryAddress>
Die verifizierte Antwort gibt die Tags zurück, dies gibt jedoch nur den Wert zwischen den Tags zurück.