On 1 August 2014 04:27, Colomban Wendling <lists....@herbesfolles.org> wrote: > Le 31/07/2014 19:52, Péter a écrit : >> When I issue a Find, with regular expression like "[^Q]*Q", Geany >> behaves strangely: the highlight (the string found) spans many lines. >> The "[^Q]*" matches as if the lines were joined. >> (The search is *not* line-based.) >> >> Do you experience the same? > > Yes > >> Why does geany behave like this? > > For technical reasons, and because although I started some work for > line-based RE support, I didn't finish it (yet). > > If you're interested in the technical reason, it's quite simple: we use > a multiline-capable regex engine and we pass it a pointer to the whole > buffer instead of feeding it line-by line -- hence allowing it to > perform multi-line matches.
And thats the right thing to do IM(NS)HO. To make searches anchored to lines you need to explicitly us the anchors ^ and $, and to facilitate this we set MULTILINE mode by default though you can set flags in the regex (?m). Cheers Lex > >> How to alter this behaviour? > > First, let's see why it doesn't already do what you want: even though > the DOTALL option is not enabled (which means "." won't match a > newline), you can match newlines (e.g. with "\n"). But as you use a > "not" range (anything but "Q"), and newline are not part of this range > (they admittedly aren't "Q"s), they get included. > > So, to work this around, use "anything but Q or newline": [^Q\r\n] > > > Regards, > Colomban > _______________________________________________ > Users mailing list > Users@lists.geany.org > https://lists.geany.org/cgi-bin/mailman/listinfo/users _______________________________________________ Users mailing list Users@lists.geany.org https://lists.geany.org/cgi-bin/mailman/listinfo/users