【问题标题】:Validate user-entered RegEx in cocoa在可可中验证用户输入的正则表达式
【发布时间】:2018-02-16 17:48:55
【问题描述】:

我有一个谓词编辑器,允许用户对 RegEx 使用“匹配”,因此他们输入的文本字符串是用于搜索的 RexEx。如果他们输入错误,我会得到:

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

如何验证字符串?如果我不这样做并且用户保存文件,它会在尝试解决此问题时退出。

【问题讨论】:

  • 代码是什么样子的?
  • 你使用NSRegularExpression还是NSPredicate

标签: cocoa nsregularexpression


【解决方案1】:

这似乎有效:

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

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

【讨论】:

  • 是的,它确实有效。如果你回答了我的问题,我昨天就可以回答你的问题了。
  • 如何验证 NSRegularExpression 的正确语法?
  • 不知道,我用NSRuleEditor也遇到了同样的问题。
猜你喜欢
  • 2016-02-26
  • 1970-01-01
  • 2013-12-12
  • 2019-01-07
  • 1970-01-01
  • 1970-01-01
  • 2011-01-27
  • 1970-01-01
  • 2014-12-23
相关资源
最近更新 更多