Loading ...
Sorry, an error occurred while loading the content.

79154Re: repeat replace many time on each line

Expand Messages
  • Arnaud Bourree
    Apr 3, 2007
      Tobia wrote on 02/04/2007 23:51:
      > Bob Hiestand wrote:
      >> Tobia wrote:
      >>> Arnaud Bourree wrote:
      >>>> I've Xml document with attribute likes:
      >>>> foo="00 12 AF"
      >>>> I want to replace with:
      >>>> foo="0x00 0x12 0xAF"
      >>> this works:
      >>>
      >>> %s/\%(\%(foo=\"\)\@<=\%([0-9A-F]\{2\}\s\)*\)\@<=\([0-9A-F]\{2\}\)/0x\1/g
      >> In using :s with the /g flag, I take it the potential changes are
      >> marked first, and then executed, per line?
      >
      > It would seem so.
      >
      > By the way, I would have used a simpler pattern for such a task:
      >
      > %s/\v%(foo\="[^"]*)@<=(<\x\x>)/0x\1/g
      Thanks that is exactly what I expect: it works for all values listed in
      foo attribute. I don't need to repeat the command.
      Good lesson for me today: keep it simple ;-)
      >
      >
      >> I prefer when dealing with that many special characters to use the
      >> very-magic form
      >
      > Me too. I can't stand trying to match \( \) with my eyes, they just
      > don't look right, not to mention \{ \? \+... Egrep and Perl have it
      > right. I wish I could turn very-magic on by default.
      >
      >
      > Tobia
      >

      --
      Reclaim Your Inbox!
      http://www.mozilla.org/products/thunderbird
    • Show all 5 messages in this topic