2017-09-07 14 views
-1

J'ai un éditeur de prédicat qui permet à l'utilisateur d'utiliser des "correspondances" pour RegEx, ainsi ils entrent une chaîne de texte qui est un RexEx utilisé pour la recherche. Si elles entrent quelque chose de mal, je reçois:Valider l'entrée RegEx saisie dans le cacao

Can't open pattern U_REGEX_RULE_SYNTAX (string /Volumes/[path to certain file].mp4, pattern (*.abc.*)|(*.abd.*), case 1, canon 2) 

Comment puis-je valider la chaîne? Si je ne le fais pas et que l'utilisateur enregistre le fichier, il se ferme en essayant de le résoudre.

+1

Qu'est-ce que l'apparence de code comme? –

+0

Utilisez-vous 'NSRegularExpression' ou' NSPredicate'? – Willeke

Répondre

0

Cela semble fonctionner:

@try 
{ 
    NSPredicate* predicate = [[self predicateEditor] objectValue]; 
    [predicate evaluateWithObject:myObject]; 
} 
@catch (NSException* exception) 

    NSLog(@"Attempted to create invalid criteria, probably a bad RegEx"); 
    error = YES; 
} 
+0

Oui, cela fonctionne. J'aurais pu répondre à votre question hier si vous aviez répondu à ma question. – Willeke

+0

Comment puis-je valider la syntaxe correcte d'une expression NSRegularExpression? – Trygve

+0

Je ne sais pas, j'utilise 'NSRuleEditor' et j'ai eu le même problème. – Willeke