Autor Zpráva
Abd
Profil *
Zdravím lidi, mám tento výraz:
if(preg_match("/^[ABCDE]+$/", $string))


- potřebuju ve $string omezit počet stejných písmen (např. tak aby ve $string mohlo být písmeno A min. jednou ale max. dvakrát).

Zkoušel jsem něco takového: ^[A{1,2}BCDE]+$ - bohužel to nefunguje.

Jde to nějak udělat? Díky za pomoc.
Werewolf
Profil
substr_count();
Abd
Profil *
Díky za reakci, ale nevím jak mi funkce s substr_count() pomůže, můžež mi to ukázat na příkladě, který jsem napsal výše? Doufám že mě chápeš. Mám totiž aplikaci která ve slovníku hledá podle zadaných písmen.
Alphard
Profil
Abd:
Můžete dát příklad toho, čeho chcete dosáhnout? Werewolf vám v podstatě odpověděl na to, na co jste se ptal, ale nejsem si jist, jestli to tady pomůže.
AM_
Profil
Mám totiž aplikaci která ve slovníku hledá podle zadaných písmen.
to jako že zadáš, že chceš slovo, které obsahuje 1-2 a (na libovolné pozici)? Je to sice možné, ale k čemu to je? takovou věc lze opravdu dělat přes substr_count - spočítá výskyty daného písmene v řetězci.
pokud myslíš za sebou, aby třeba na dotaz "abcd" bylo nalezeno "aabcd", "abbcd"... pak bude regulár:
'/a{1,2}b{1,2}c{1,2}d{1,2}/'

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:

0