|
Тема |
Re: regex v'pros [re: beginner] |
|
Автор |
sdg (shebang addict) |
|
Публикувано | 06.02.04 12:44 |
|
|
Понеже си публикувал въпроса си в Perl форум, ще коментирам за Perl.
Не знам до колко Java 1.4 regular expressions са съвместими с Perl.
if ($var =~ /foo(?!bar)/) { alabala(); } #"реагира" на ``foo'' след което НЯМА ``bar''
if ($var =~ /foobar/) { nica(); } #очевиден AND -- ``foo'', след което ИМА ``bar''
От друга страна, ако имаш разклонения в алгоритъма на програмата, например:
if ($var =~/foo(?!bar)/)
{
warn "Help! Foo without Bar detected!";
};
тогава можеш да напишеш и:
if (($var =~ /foo/) && ($var !~ /foobar/))
{
warn "Help! Foo without Bar detected!";
}
Мисълта ми е, че ако имаш разклонения, няма да постигнеш по-добри резултати
с (?!pattern) израза. Или с други думи, все е тая къде ще обработиш AND и NOT --
в регулярния израз, или в "разклонителната" логика.
RTFM!
--sdg
|
| |
|
|
|