Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Feb 2010 15:40:54 -0800
From:      Garrett Cooper <yanefbsd@gmail.com>
To:        =?iso-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>
Cc:        Andrew Brampton <brampton+freebsd@gmail.com>, freebsd-hackers@freebsd.org
Subject:   Re: sysctl with regex?
Message-ID:  <44741B44-5EDA-4DDE-8C92-B74465BCA670@gmail.com>
In-Reply-To: <868wb1hqzs.fsf@ds4.des.no>
References:  <d41814901002091308s7e894b55p880bde165bbbe703@mail.gmail.com> <86tytqvwky.fsf@ds4.des.no> <d41814901002091528i4884987cmb7347dfe4d50bdc5@mail.gmail.com> <26049703-8844-4476-B277-776A4EFC0A53@gmail.com> <86fx59jpti.fsf@ds4.des.no> <7d6fde3d1002100923i6bbc24a7ocaf408f4d78ec59f@mail.gmail.com> <868wb1hqzs.fsf@ds4.des.no>

next in thread | previous in thread | raw e-mail | index | archive | help

On Feb 10, 2010, at 10:42 AM, Dag-Erling Smørgrav wrote:

> Garrett Cooper <yanefbsd@gmail.com> writes:
>> Dag-Erling Smørgrav <des@des.no> writes:
>>> A glob pattern can be trivially translated to a regular expression, but
>>> not the other way around.  Basically, * in a glob pattern corresponds to
>>> [^/]*, ? corresponds to ., and [abcd] and [^abcd] have the same meaning
>>                                             ^^^^ ???? ^^^^
>> The former is a positive assertion, where the latter is a negative
>> assertion -- how can they have the same meaning?
> 
> Read the entire sentence.  BTW, neither of these are assertions, and
> neither of these is negative in any sense, they are just different ways
> of selecting characters from the alphabet (in the extended sense).

Yes, I mentally omitted the second half because of the sentence construction. Sorry ><.

>>> as in a regular expression.  The glob pattern syntax has no equivalent
>>> for +, ?, {m,n}, (foo|bar), etc.
>> 
>> +, {}, and () -- no... that's typically an extension to shell expanded
>> values (IIRC). ?
> 
> I can't make sense of this - I'm not sure whether you misunderstood what
> I wrote, or just failed to express yourself clearly...

Ok -- redo: +, {} and () aren't typical shell glob operators. They're typically extensions in certain shells (bash for instance).

>>> Finally, .* and .+ are *both* greedy.  Perl's regular expression syntax
>>> includes non-greedy variants for both (.*? and .+? respectively).
>> Yes, but I didn't explicitly note those forms.
> 
> No, but you claimed that .+ is not non-greedy, which is incorrect.

Yes. My previous understanding was incorrect. Thanks for the clarification :).

Cheers,
-Garrett


Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?44741B44-5EDA-4DDE-8C92-B74465BCA670>