2008/11/14 Alex <[EMAIL PROTECTED]>:
> On Friday 14 November 2008 17:52, Petru Ratiu wrote:
>> 2008/11/14 Alex <[EMAIL PROTECTED]>:
>> > Din cite imi aduc aminte, la regexp, \s marcheaza un spatiu, iar \s+
>> > marcheaza mai multe spatii. eu vreau sa scot dintr-un fisier toate
>> > liniile care incep cu unul sau mai multe spatii urmate de litera P
>> >
>> > Cum e corect: cu \s sau cu \s+, ca vad ca la mine ambele expresii produc
>> > acelasi rezultat :-(
>>
>> [\s+] nu inseamna ce vrei tu sa insemne
>
> NU ESTE [\s+] ci [ \s+]!

Nu sunt corecte... Cel putin nu in modul pe care-l activezi cu grep -E.

> Ai gasit bug-ul fara sa stii :-)). Deci, expresia corecta ar fi: grep -E
> '^[ ]+[P]' test.txt sau ca tine fara extended regexp, grep  '^[ ]\+P'
> test.txt

Cred ca esti un pic confuz. \s, in grep fara -P, nu inseamna nimic
special. [:space:] intr-o expresie dintre paranteze patrate inseamna
ce vrei tu sa zici prin \s, care, dupa cum a zis si Petre, este PCRE.

man grep, vezi la REGULAR EXPRESSIONS si man regex pentru -E, perldoc
perlre pentru PCRE.

-- 
George-Cristian Bîrzan
_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui