From: Jakub Narebski Date: Sat, 07 Feb 2009 10:07:32 GMT Subject: Re: [PATCH] gitweb: Better regexp for SHA-1 committag match Message-ID: <200902071107.33428.jnareb@gmail.com> In-Reply-To: <9b18b3110902070122r3397888aqcaebfcf3e6d40d51@mail.gmail.com> On Sat, 7 Feb 2009, demerphq wrote: > 2009/2/6 Jakub Narebski : >> Dnia piątek 6. lutego 2009 10:49, Rafael Garcia-Suarez napisał: >>> 2009/2/6 Jakub Narebski : >>>> Make SHA-1 regexp to be turned into hyperlink (the SHA-1 committag) >>>> to match word boundary at the beginning and the end. This way we >>>> reduce number of false matches, for example we now don't match >>>> 0x74a5cd01 which is hex decimal (for example memory address), >>>> but is not SHA-1. >>> >>> Further suggestion: you could also turn the final \b into (\b|\@), >> >> You meant \b -> \b(?!\@), didn't you? Word boundary _not_ followed >> by '@', and not word boundary _OR_ '@' as you wrote... > > Since \b(?!\@) is effectively two zero width negative assertions in a > row you could simplify by saying: > > (?![^\w\@]) I don't know if "sth\b" is effectively "sth(!?[^\w])"... perhaps it is. > > and that way you can easily add the '.' case as well. We cannot add '.' case, because it there can be legitimate SHA-1 match ending sentence, e.g. ... at commit 8457bb9e. -- Jakub Narebski Poland