in reply to Regular expression to replace xml data

Don't use a regex to manipulate XML, use a proper parser, such as XML::Twig. Using super search you would be able to find many posts discussing this, including XML parsing vs Regular expressions.

Martin

  • Comment on Re: Regular expression to replace xml data

Replies are listed 'Best First'.
Re^2: Regular expression to replace xml data
by dalegribble (Initiate) on Oct 06, 2009 at 15:01 UTC
    Thanks for both of your replies, our current parser is dying due to the additional less than / greater than character.

      Your current parser is dying because it is trying to sew jeans with a knitting needle.

      Regexen are not the right tool for parsing languages for which the meaning of a token depends heavily on context or is part of a recursively nested pair. XML has both those features. Your regex isn't working anymore because it is having difficulty determining the context of the greater than and less than signs it is trying to replace.

      I will grant you that you can get a regex based parser to work for controlled set of input, but no matter how hard you try it will be fragile. And the more you try to make it work, the more difficult it will be to explain and maintain those regexen.

      Rewriting something that you trust is never fun, especially if you are fighting deadlines, but the problems you are having signal that you have outgrown the capacity of your old tools and it is time to move on to better tools.

      Best, beth