MaLpAsO wrote:
I would like to know how I can use a successful pattern match
containing wild characters in the replace patters.
Egg:
    I want to search for patterns like  "IN-a3-OUT", "IN-11-OUT" and
replace it with patterns like   "IN-a3-",  "IN-11-"
    i.e. I will be searching like s/IN-.*-OUT/
    How can I do this replacement

While I'd start by recommending that you read up on regular expressions (there are several good books, as well as on-line tutorials that should take you far), Vim's search uses the power of these regular expressions.

To clarify your issue, you have a regular expression that finds the things you want, and you want to strip the "-OUT" off the end of them? There are several possibilities:

  :%s/IN-.*\zs-OUT//g
  :%s/\(IN-.*\)-OUT/\1/g

Remember that ".*" is greedy, so if you have a line that looks like

  IN-a1-OUT IN-b2-OUT

the ".*" will find "a1-OUT IN-b2", leaving you with "IN-a1-OUT IN-B2" which may not be what you want. You can tweak that atom to read either

  .\{-}       (do it non-greedy)
  [^-]*       (anything that isn't another "-")

Hope this helps,

-tim


--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

To unsubscribe from this group, send email to vim_use+unsubscribegooglegroups.com or 
reply to this email with the words "REMOVE ME" as the subject.

Reply via email to