🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #1206

Re: /\+(?:\(.*?\)|.*?)(?:$|(?=\+))/g

#1206
From: Michal Mosiewicz
Date: Fri, 10 Apr 1998 18:31
26 lines
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-mail
References: <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