/ / NSString: Regulärer Ausdruck für blabla.DDD + DDDD wobei D die Ziffer ist - objective-c, ios, regex, nsstring

NSString: Regulärer Ausdruck für blabla.DDD + DDDD wobei D die Ziffer ist - objective-c, ios, regex, nsstring

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 № 1

Die 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