Ich brauche einen regulären Ausdruck, um zu prüfen, ob ein String dieses Muster hat:
[einige zufällige Zeichen] .DDD + DDDD
Es kann mit zufälligen Zeichen beginnen, aber es endetmit einem Punkt. dann drei Ziffern, dann ein Pluszeichen gefolgt von vier Ziffern. Wie kann ich den regulären Ausdruck erstellen und prüfen, ob ein NSString dieses Muster hat?
Vielen Dank!
Antworten:
0 für die Antwort № 1Die richtige Regex ist ^[^.]*.[0-9]{3}+[0-9]{4}$
Beide anderen Antworten vergaßen, bestimmten Charakteren zu entkommen.
2 für die Antwort № 2
Dies sollte das sein, wonach Sie suchen.
NSString *regex = @"(^[^.]*.[0-9]{3}+[0-9]{4}$)";
NSPredicate *pred = [NSPRedicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([pred evaluateWithObject:mystring])
{
//do something
}
Es gibt viele gute Regex-Generatoren, um Ihre regulären Ausdrücke zu testen. Ex.: http://rubular.com
-1 für die Antwort № 3
Der Ausdruck ^ [^.] *. [0-9] {3} + [0-9] {4} $ sollte es tun.
Das ^ bedeutet Start der Zeichenfolge [^.] *. bedeutet null oder mehr Zeichen ohne Periode, gefolgt von einem Punkt [0-9] {3} bedeutet 3 Ziffern (0-9) + bedeutet ein Plus [0-9] {4} bedeutet 4 Ziffern Das $ bedeutet Ende der Zeichenfolge