Philip Hazel <ph10@???> писал(а) в своём письме Sun, 22 Aug
2010 21:10:38 +0400:
> On Fri, 20 Aug 2010, ND wrote:
>
>> Subject: aa<CR><LF>b
>> Pattern: a$
>> Match: RegEx error - PCRE_ERROR_NOMATCH
>>
>> If
>> Pattern: aa$
>> then
>> Match: aa
>>
>> Why 'PCRE_ERROR_NOMATCH' in first example?
>
> When I test, I get NOMATCH in the second example as well.
>
> You don't say what options you used, if any. You need
>
> (1) PCRE_MULTILINE to tell PCRE that the subject is more than one line.
> (2) PCRE_NEWLINE_CRLF or PCRE_ANYCRLF or PCRE_ANY so that <CR><LF> is
> interpreted as a newline sequence. Testing with pcretest shows that this
> works:
>
> PCRE version 8.10 2010-06-25
>
> /a$/m<crlf>
> aa\r\nb
> 0: a
> It also works if the pattern is aa$.
>
> This is what the documentation says:
>
> PCRE_MULTILINE
> By default, PCRE treats the subject string as consisting of a
> single
> line of characters (even if it actually contains newlines). The
> "start
> of line" metacharacter (^) matches only at the start of the
> string,
> while the "end of line" metacharacter ($) matches only at the
> end of
> the string, or before a terminating newline (unless
> PCRE_DOLLAR_ENDONLY
> is set). This is the same as Perl.
> When PCRE_MULTILINE it is set, the "start of line" and "end of
> line"
> constructs match immediately following or immediately before
> internal
> newlines in the subject string, respectively, as well as at the
> very
> start and end.
>
>
>
>
> Philip
>
I have a dialog with Sheri and discover that it is not original PCRE
fault, but error of PCRE-wrapper that I use.
Thanx.