Regex dla kombinacji liter i cyfr ze znakami specjalnymi
Chcę wyrażenia regularnego z następującymi warunkami,
- ciąg musi zawierać co najmniej jeden znak lub liczbę.
- kombinacja może zawierać znaki specjalne, takie jak! @ # $% & amp; *.
- długość linii musi być większa niż 7.
Na przykład ..
- test1234
- test@1234
- 1234Test
Z góry dziękuję.
oto mój kod
NSPredicate *regex = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", @"^(?[0-9])(?[a-zA-Z]){7,}$"];BOOL isvalid = [regex evaluateWithObject:string];
niestety nie mogłem znaleźć wyrażenia regularnego, którego użyłem wcześniej.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
2 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
[0-9]
, ale mówi, że musi zaczynać się od tej cyfry (również bez sprawdzania twoich liter).Spróbuj tego: Za pomocą
przykłady, które podałeś
http://rubular.com/r/iwa8piuR5r
Zrobiłem z nim kilka testów. regex to połączenie dwóch znalezionych.
( =. * [A-zA-Z \ d]. *)
. Dzięki zezwalasz na walidację w dowolnym miejscu wiersza, a nie tylko na początku. Następnie mówisz regexowi, aby sprawdził, zanim będzie kontynuowany. Potraktuj to jako instrukcję if, jeśli ciąg zawiera literę lub cyfrę w dowolnym momencie, kontynuuj.[a-zA-Z \ d \! @ # \ $% & amp; \ *] {7,}
. Ta część jest najłatwiejsza, ponieważ po prostu ustalasz zasady i mówisz: daj mi co najmniej 7 z nich.Anonimowy użytkownik
Potwierdzenie od:
lookahead
http://www.regular-expressions ... ml... Wygląda na to, że już rozgryzłeś resztę (klasa postaci, powtórzenia, kotwice).