[Geany] Regex replace weirdness

Lex Trotman elextr at xxxxx
Wed Sep 29 01:31:13 UTC 2010


On 29 September 2010 11:24, Colomban Wendling
<lists.ban at herbesfolles.org> wrote:
> Le 29/09/2010 03:16, Lex Trotman a écrit :
>> On 29 September 2010 11:09, Lex Trotman <elextr at gmail.com> wrote:
>>> On 29 September 2010 10:30, Erik de Castro Lopo <mle+tools at mega-nerd.com> wrote:
>>>> Hi all,
>>>>
>>>> I've got a file of C code which for part of the file has an extra
>>>> single space indent on the left hand side. To fix this I'm trying
>>>> to do a regex search for "^ " and replace it with "" (ie empty
>>>> string). Unfortunately, this search/replace removes all space
>>>> indentation which is not really what I expect.
>>>>
>>>> Any clues on getting this right? Is this a bug?
>>
>> Actually having a bit of a think, it can't work since after replacing
>> the first space with nothing it will find another space at the same
>> place and remove it until it removes all the spaces at the start of
>> the line before moving on to the next.
>>
>> So its working right, just not what you want :-) & I'm not sure how to do it.
> not sure it is "right" -- it already matched ^, so why match it again?

Because it has removed the space it matched, the so its position is
back to the start of the line (which matches ^).

> -- but it's at least not really surprising.
> And it's really easy to work around, simply match the whole line:
> ^ (.*)$
> and replace it with the captured data
> \1
> and you're done :)

Good one.

Cheers
Lex

>
> Regards,
> Colomban
> _______________________________________________
> Geany mailing list
> Geany at uvena.de
> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany
>



More information about the Users mailing list