Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Regularni vyraz

Ahoj,
trošku nechápu ukončení jednoho výrazu (který funguje dle mých potřeb)

$regex = "^\D{3,}\w{2}\d{2,}(?!\w)"

Hledám string, který začíná alespoň 3 alfa znaky (ne digit), poté 2 alfanumerickými (a-Z 0-9), poté s minimálně 2 digit a takové, aby končily digit znakem

Ukončení (?!\w) trošku nechápu jak může fungovat, chápu to jako ".. not followed by alphanumeric).. což bych tam teda očekával spíše (?!\D) než \w .. ale s D (jako nondigit) to nefakčí ..

testovací string:

novak10 - valid
novak102 - valid
nov1k10 - valid
administrator - not valid
n1vak10 - not valid
novak10a - not valid

Nebo to ukončení regexu je uplne blbe a ciste nahodou to funguje tak jak ja potrebuji, ackoliv je to napsane blbě?

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
A nestačilo by prostě: ^\D{3,}\w{2}\d{2,} Nebo je povoleno i např.: novak10aaa1 ?
Wikan 28.02.2014 09:48
Wikan
když to zkrátím tak to matchuje novak102o což povoleno není... nechci aby string (AD účet) mohl konč…
MKc 28.02.2014 09:55
MKc
No v tom případě: ^\D{3,}\w{2}\d{2,3}$
Wikan 28.02.2014 09:58
Wikan
"^\D{3}\w{2}\d{2,3}$" (jinak to hledalo i nesmysly jako svc_testing99) poslední
MKc 11.03.2014 11:11
MKc

Zpět do poradny Odpovědět na původní otázku Nahoru