[Haskell-cafe] Re: ANN: weighted-regexp-0.1.0.0

Sebastian Fischer sebf at informatik.uni-kiel.de
Wed Jul 28 16:38:23 EDT 2010


>> REG_NEWLINE   Compile for newline-sensitive matching.  By default,
>> newline is a completely ordinary character with no special meaning in
>> either REs or strings.  With this flag, `[^' bracket expressions and
>> `.' never match newline, a `^' anchor matches the null string after
>> any newline in the string in addition to its normal function, and the
>> `$' anchor matches the null string before any newline in the string
>> in addition to its normal function.
>
> Using ^ and $ to match near newlines makes matching patterns that  
> cross
> lines much easier to control.  But anchors are also a source of bugs  
> for
> some implementations, e.g. libtre.

Maybe I underestimated the utility of ^ and $. The definition seems  
intricate. I thought about adding a combinator for matching newline  
but now think that would lead to wrong start and end positions. For  
example the start position of the matching substring for  ^a  in  "a 
\na"  should be 2 not 1, right? Or is it 0 although there is no  
newline at the beginning?

Is there a page with examples that show how ^ and $ should behave  
exactly?

Sebastian

-- 
Underestimating the novelty of the future is a time-honored tradition.
(D.G.)





More information about the Haskell-Cafe mailing list