Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyrażenie regularne
Forum PHP.pl > Forum > PHP
user123
Witam!

W jaki sposób stworzyć wyrażanie regularne, które obsługuje:

minimalnie ciąg: 4aZ
a maksymalnie: 4aZ-5Bz-9Za-A43z (i tak w nieskończoność)

probowałem cos w stylu

([a-z0-9A-Z]+[-]*[a-z0-9A-Z]*)*

ale nie działa dla dłuższych ciągów niż jedne "-"

z poważaniem
Shili
Kod
^([a-z0-9A-Z]{3,4}(-[a-z0-9A-Z]{3,4})*)$

Nie za bardzo rozumiem do końca problem.

Jeśli ciągi znaków pomiędzy myślnikami mogą być wyłącznie 3-znakowe, to trzeba z {3,4} zrobić {3}.
Jeśli mogą mieć dowolną ilość znaków, czyli a3z-3dfafafa-2352safsfa to zamiast {3,4} trzeba wpisać +
Względnie, jeśli nie będzie chciało działać przed - który nie jest w nawiasach kwadratowych postawić \

Pisane z palca, ale działać powinno, trzeba względnie drobnych poprawek.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.