Article View: pl.comp.lang.perl
Article #1206Re: /\+(?:\(.*?\)|.*?)(?:$|(?=\+))/g
From: Michal Mosiewicz
Date: Fri, 10 Apr 1998 18:31
Date: Fri, 10 Apr 1998 18:31
26 lines
1866 bytes
1866 bytes
Qrczak wrote:
> Chodzi mi mianowicie o to "\(.*?\)|.*?". Kolejność obu możliwości ma
> znaczenie! Chcę żeby w przypadku kiedy zaczynamy od "+(", wziąć wszystko
> aż do następnego ")+", łącznie z ewentualnymi wewnętrznymi "+".
> Teoretycznie on mógłby dopasować to do drugiego wariantu: ".*?",
> i zatrzymać się na pierwszym "+" w nawiasie, jednak tego nie robi
> - i dobrze! ale może któraś wersja zacznie.
Nie powinna. Zasadą działania regexpów jest zachłanność. Jeśli coś może
pasować do nieustalonej ilości znaków, to dopasowywuje się je na maksa.
Natomiast przyznam, że wyrażenie .*? mógłbyś spokojnie zastąpić
następującym wyrażeniem:
Tak, tu jest pusto - to nie pomyłka. Bo takie wyrażenie jest równe
wyrażeniu pustemu. .* wyszukuje 0 lub więcej dowolnych znaków. Znak
zapytania każe mu wyszukiwać jak najmniej się da. Zatem .*? nic nie
wyszukuje. Bo skoro może być zero znaków, to w takim razie zero znaków
jest w sam raz (mniej już się chyba nie da, nie?)
Michał
--
WWW: http://www.lodz.pdi.net/~mimo tel: Int. Acc. Code + 48 42 148340
add: Michal Mosiewicz * Bugaj 66 m.54 * 95-200 Pabianice * POLAND
Technical Details
Message-ID:
<352E6572.BAFC5F3@interdata.com.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!mimo.lodz.pdi.net!not-for-mailReferences:
<Pine.LNX.3.96.980410093444.16675A-100000@qrnik.knm.org.pl>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!news.task.gda.pl!mimo.lodz.pdi.net!not-for-mail From: Michal Mosiewicz <mimo@interdata.com.pl> Newsgroups: pl.comp.lang.perl Subject: Re: /\+(?:\(.*?\)|.*?)(?:$|(?=\+))/g Date: Fri, 10 Apr 1998 20:31:14 +0200 Organization: Interdata, http://www.interdata.com.pl/ Lines: 26 Message-ID: <352E6572.BAFC5F3@interdata.com.pl> References: <Pine.LNX.3.96.980410093444.16675A-100000@qrnik.knm.org.pl> NNTP-Posting-Host: mimo.lodz.pdi.net Mime-Version: 1.0 X-Mailer: Mozilla 4.05 [en] (X11; I; Linux 2.0.33 i586) Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit