2012-03-22 14 views
8

Próbuję napisać RegEx, który zaczyna się od cyfry 0 lub DOWOLNEJ litery (zasadniczo nie może zaczynać się od 1-9). To też musi być 13 znakówRegEx Rozpocznij od litery lub cyfry 0

mam to, ale nie wydaje się działać:

"^[0][a-zA-Z]{13}" 
+0

Twój RegEx przekłada się na „«0», a następnie przez 13 liter” –

+0

jest to praca domowa – gbulmer

+0

@gbulmer to nie jest praca domowa Praca na dokonanie wyszukiwania, które będą..?. wykonuj określone typy wyszukiwań w oparciu o dane wejściowe użytkowników – mint

Odpowiedz

14

Spróbuj regex zamiast:

"^[0a-zA-Z].{12}$" 

[0a-zA-Z] oznacza „jeden znak, że jest albo 0, jeden z az lub jeden z AZ ".

.{12} oznacza dwanaście kolejnych znaków, czymkolwiek one są.

+0

Dziękuję za wyjaśnienie.To działało świetnie.Miałem coś podobnego wcześniej, ale nie korzystałem z. {12} i wa zamiast tego używasz {13}. – mint

+1

Gdybym chciał, aby ostatnie dwanaście było liczbami, zrobiłbym ""^[0a-zA-Z] [0-9]. {12} $ "'? – mint

+3

@mint '"^[0a-zA-Z] [0-9] {12} $ "' – gbulmer

1

Szukasz czegoś takiego:

^[0\w]\S{12}$ 

ten stanowi pierwszy znak musi być 0 lub postać słowo. Następuje dokładnie 12 znaków, które NIE są białymi znakami (to pozwala na od 0 do 9 znaków i znaków specjalnych) Zmień nazwę \ S na co tylko chcesz. Takich jak [0-9 \ w]

Wspaniały plac zabaw do testowania wyrażeń regularnych jest pod adresem: http://regexpal.com/ używam go ciągle do testowania wyrażeń regularnych

Powiązane problemy