Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 18:57 03.06.24 
Компютри и Интернет
   >> Perl
Всички теми Следваща тема *Кратък преглед

Тема regex v'pros  
Авторbeginner (Нерегистриран)
Публикувано04.02.04 16:20



kak se pravi otricanie na regex?
imam regex X, koyto ma4va ne6to (naprimer .*abc.* ma4va vsi4ko v koeto ima abc)
kak da napravya NOT X (vsi4ko, v koeto NYAMA abc)???
probvah s X{0} ama ne6to ne stava - (.*abc.*){0} ne raboti pravilno

i vtori v'pros - kak se pravi AND?
regex koyto ma4va ednovremenno i X i Y ???

v ob6ti linii ot trite nay-4esto izpolzvani logi4eski operatora znam samo OR - X|Y
a drugite???

toku 6to razbrah, 4e imalo mnogo formati regular expressions :(
az probvam s implementaciyata v Java 1.4

blagodarya predvaritelno



Тема Re: regex v'prosнови [re: beginner]  
Автор Teшkapcko_koпeлe (grrrr)
Публикувано04.02.04 16:53



Za otricanie se izpolzva znaka "^" ,NO ne i ako e v samoto na4alo na celiq reg. izraz,a na stringa.Primerno:
/[^AX]/ - shte savpadne sas vsi4ko,koeto NE e A ili X.
Ako e /^[AX]/ - shte tyrsi A ILI X,koito zadyljitelno da sa v na4aloto na stringa.

Po vtoriq vapros neshto ne razbrah.Kak taka ednovremenno? Ako shte sa v edin i sash Regulqren izraz ne ti trqbva operator AND.No ako pravilno sym razbral za neshto takova li pitash:
$_ = "Nqkakav message";
print $message if (/string1/ and /string2/);


Nadqvam se da sym ti bil polezen.



Тема Re: regex v'prosнови [re: Teшkapcko_koпeлe]  
Авторbeginner (Нерегистриран)
Публикувано05.02.04 12:21



mersi za otgovora

/[^AX]/ 6te s'vpadne s vseki simvol, koyto ne e nito A, nito X
na men mi tryabva regex, koyto da NE s'vpada s stringovete, s koito regular expresiona X bi s'vpadnal
primer
X = /a.b/ s'vpada s 3simvolni stringove, koito po4vat s a i sv'r6vat s b
tryabva mi regular expression, koyto s'vpada s vsi4ko ostanalo ??? (moje bi bez prazniya string)

za AND ...
primer
X = /a.b/ s'vpada s 3simvolni stringove, koito po4vat s a i sv'r6vat s b
Y = /ab./ s'vpada s 3simvolni stringove, koito po4vat s ab i sv'r6vat s proizvolen simvol
Tryabva mi regex, koyto s'vpada s stringove, koito s'vpadat i s X i s Y???
v konkretniya slu4ay tova e regular expresiona /abc/, no na men mi tryabva za ob6tiya slu4ay na X i Y
ina4e programnoto re6enie, koeto opisva6 raboti, no ne mi v'r6i rabota
iskam AND operatora da e v samiya regex
s'6to kakto OR e v regexa - moje6 da napi6e6 /a.b|ab./ i tova 6te matchva vsi4ki 3-simvolni stringove, koito po4vat s a i nyakoy ot sledva6tite simvoli e b

nadyavam se, 4e sega (s tolkova mnogo primeri) v'prosite mi sa po-yasni

otnovo blagodarya



Тема 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


Тема Re: regex v'prosнови [re: sdg]  
Авторbeginner (Нерегистриран)
Публикувано07.02.04 13:22



blagodarya mnogo za otgovora
v doca na Java 1.4 pi6e, 4e syntaxisa e podoben na tozi v Perl. Zatova pitah tuk.

bi li razyasnil kakvo pravi tova (?!bar)? v knijkata, koyato 4eta ne e opisano, nito v Java 1.4 doca.
naistina /foo(?!bar)/ match-va foo sled koeto nyama bar
oba4e /^foo(?!bar)$/ izglejda match-va samo i edinstveno foo, koeto me ob'rkva !?!
razyasni molya te

kak se pravi regex, koyto proveryava dali v daden string NYAMA dadena duma???
vs'6tnost tova e moyata cel.
Imam regex X - /abc/ ili /^.*abc.*$/, koyto proveryava dali v stringa ima "abc".
tryabva mi regex Y=NOT X da proveryava dali v stringa nyama "abc".

/foobar/ e konkatenaciya, s'vsem ne e AND (kamo li o4eviden)
edno priblijenie e /foo.*bar|bar.*foo/ oba4e 1) e izli6no slojno i 2) nyama da raboti za naprimer
"abc" i "bce", za6toto /abc.*bce|bce.*abc/ nyama da matchva "abce".
v knijkata, koyato 4eta e predlojeno re6enie /^(?=*abc)(?=*bce)/s, koeto ne e obyasneno i az ne razbiram. osven tova ne raboti :( (Quantifier follows nothing in regex; marked by <-- HERE in m/(?=* <-- HERE abc)(?=*bce)/)

v s'6tata knijka v grafata za logi4esko otricanie (NOT) v tyaloto na regex e dadeno samo programnoto re6enie - $text !~ /abc/ :(
izglejda syaka6 ne moje otricanieto da se sloji v regexa, a tryabva da se programira :(

ne e vse edno dali 6te obraboti6 logi4eskata operaciya v koda ili v samiya regex. i problema ne e v po-dobrite rezultati, a v tova, 4e ponyakoga ne znae6 predvaritelno regex-a za da mu programira6 logikata. Zadavam vsi4kite tezi v'prosi, za6toto mi se nalaga da generiram regexa dinami4no ili da go 4eta ot file. Sledovatelno edinstvenata logika, koyato moga da programiram e $str=~/$regex/ taka, 4e da ostavya p'lnata svoboda na tozi, koyto posle 6te pi6e regexa. I ako toy nyama da ima svobodata da izpolzva AND ili NOT tova 6te e prekaleno golyamo ograni4enie :(

mersi otnovo i 4akam s net'rpenie




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.