Friday, December 25, 2015

Re: how to double negation in regex



2015-12-25 10:16 GMT+03:00 Chump Ma <chumpma@gmail.com>:
For example,

[[:punct:]]

match punctuations, now I want to match punctuations but not '-', so I try

[^[^[:punct:]\]\-]

and

[^[:punct:]\-]\@!

but neither worked, can someone help?

​Use negative look-aheads or look-behinds (AFAIK first is faster):

    \%(-\@!​[[:punct:]]\)

(`\%(\)` is here so that you can work with this construct as one atom: in case you need to e.g. place `*` after it). And I do not see anything double in your request.

 

--
--
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

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

--
--
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

---
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

No comments: