help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Negative Lookahead Equivalent in emacs


From: Wasell
Subject: Re: Negative Lookahead Equivalent in emacs
Date: Tue, 9 May 2017 11:54:27 +0200
User-agent: MicroPlanet-Gravity/3.0.4

On Mon, 8 May 2017 22:15:42 -0700 (PDT), in article <49e1dd7d-4be5-4b03-b9e2-
e26b15b0a6cb@googlegroups.com>, luishenriquezperez@gmail.com wrote:
> 
> Hi,
> 
> I'm trying to write a regex that matches the last character of a sequence of 
> non-whitespace characters '[^\n\r\t\f ]', or an empty line matching ^$. 
> 
> Thus: 
> Hello World! --> "o" and "!" would be matched
> 
> In non-elisp regex languages I know the code for this is: \S(?!\S) 
> I know that \S is equivalent too [^ /n/r/t/f]. 
> But I'm unsure of what the elisp equivalent (if any) of the negative 
> lookahead (?!).
> 
> I saw on this forum a post  "gnu.emacs.help ? regex nirvana - near miss"
> Where Drew Adams said: "Typically, what you want to do for this in Emacs Lisp 
> is to combine 
> the use of a regexp for positive matching with other code that takes 
> care of the non-matching (negation) need. "
> 
> However, I'm not sure how to go about doing this.


If I'm not miss-understanding you completely, you want to match a non-
whitespace, followed either a whitespace or an end-of-line. That would be:

        [^[:space:]]\(?:[[:space:]]\|$\)

Am I missing something?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]