Autor | Zpráva | ||
---|---|---|---|
Jakuje Profil |
#1 · Zasláno: 16. 4. 2008, 18:02:19 · Upravil/a: Jakuje
Citace z root.cz:
[quote] Příklad: http://[a-zA-Z_.]+ Tímto výrazem můžeme snadno nalézt webové odkazy. Jistě byste už dovedli zkonstruovat odkaz, který by například našel jen ty odkazy, které by nekončily řetězcem "asp". [/quote] Když to člověk čte poprvé, tak se na to ani nedívá, že je to jednoduché, ale když člověk potřebuje sestrojit podobný výraz, tak si nevím rady. Jak se dá v regulárním výrazu naznačit posloupnost znaků, která se v daném "bloku" nesmí vyskytovat? Popřípadě jak udělat vůraz, kde se v bloku nesmí vyskytovat ani jedna z posloupností znaků (v daném pořadí)? Děkuji za rady |
||
Mastodont Profil |
#2 · Zasláno: 16. 4. 2008, 19:10:22
|
||
Jakuje Profil |
#3 · Zasláno: 16. 4. 2008, 19:12:52
Mastodont
Nechceš být konkrétnější? |
||
peta Profil |
#4 · Zasláno: 17. 4. 2008, 16:16:02
Jakuje
http://www.volny.cz/peter.mlich/www.htm#mssub19 [] - 1 znak muze obsahovat vice znaku, viz [a-zA-Z_.] [] - smi se vyskytovat [^] - nesmi se vyskytovat http:// - posloupnoust po sobe jsoucich znaku + - opakovani 1-n {1,} - opakovani 1-n * - opakovani 0-n {0,} - opakovani 1-n . - (tusim 1 znak) atd, blize dokumentace |
||
Jakuje Profil |
#5 · Zasláno: 17. 4. 2008, 19:35:33
peta
Jasně. Toto znám, ale já nepotřebuju zaručit výskyt sekvence znaků, ani vyřadit výskyt nějakého ze znaků v závorce ([a-zA-Z]). Potřebuji vyřadit sekvenci a na toto jsem ještě nikde nenarazil. Napadlo mě (ab){0,0}, ale ještě jsem to nezkoušel. Možná je to blbost. |
||
bukaj Profil |
#6 · Zasláno: 17. 4. 2008, 22:10:38
Jakuje
Napadlo mě (ab){0,0} V podstatě je tohle k ničemu, protože to neříká: "Tohle tady nebude," ale spíš: "Tady nebude nic." Potřebuji vyřadit sekvenci a na toto jsem ještě nikde nenarazil. Oni na to reguláry nejsou holt stavěné. Používají se k tomu, aby to zjistily, jestli řetězec odpovídá zadanému formátu. Výjimky se, podle mého názoru, budou muset řešit pomocí více výrazů a logických operacecí s jejich výsledky. V některých situací bych možná mohly pomoci perlovské zpětné či dopředné konstrukce (resp. tzv. tvrzení). Viz interva či regularnivyrazy.info. |
||
Jakuje Profil |
#7 · Zasláno: 18. 4. 2008, 11:46:34
bukaj
V některých situací bych možná mohly pomoci perlovské zpětné či dopředné konstrukce (resp. tzv. tvrzení). zkusím se na to ještě tak podesáté podívat a něco vymyslet. Možná mě bude stačit pouze vyřazení znaku - [^], ale nebude to ideální. |
||
BetaCam Profil |
#8 · Zasláno: 18. 4. 2008, 12:54:55
Jakuje
Otázka hlavně zní co označuješ pojmem "blok". |
||
Jakuje Profil |
#9 · Zasláno: 19. 4. 2008, 13:39:58
BetaCam
Blokem míním část textu ohraničenou závorkami () - ohraničení už mám vyřešeno, ale problém je s tím vyřasením. Ještě jsem zkoušel [^(<\[|\]>)] (včetně escapoování), ale také to mělo nějaké problémy. |
||
Časová prodleva: 16 let
|
0