Autor Zpráva
Jakuje
Profil
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
http://www.regularnivyrazy.info/serial-php-pcre-perl-compatible.html
Jakuje
Profil
Mastodont
Nechceš být konkrétnější?
peta
Profil
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
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
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
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
Jakuje

Otázka hlavně zní co označuješ pojmem "blok".
Jakuje
Profil
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: