我怎样才能制作这个正则表达式?

时间:2013-05-09 01:45:55

标签: objective-c regex nsregularexpression

我很抱歉烦恼并要求其他人为我这样做,但我现在已经尝试了一段时间,似乎无法找到合适的工作。这是它需要允许的:

  • 小写字母
  • 大写字母
  • 撇号('
  • Dashes(-

只要它不包含除上述字符之外的任何内容,它们将被拒绝的字符串的顺序无关紧要。如果这会影响正则表达式中的任何内容,那么它是针对objective-c的。

NSString *nameRegEx = @"^[A-Z][a-zA-Z]+$";
NSPredicate *firstTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nameRegEx];

1 个答案:

答案 0 :(得分:2)

对于正则表达式的“大写和小写字母,短划线和撇号”部分,请尝试: -

[a-zA-Z'\\-] 

如果你不想依赖它在[]字符类中的某些句法位置,你需要逃避 - 破折号。

在Java中,我们需要使用\\双反斜杠 - 单反斜杠会将控制字符转义到编译器中,所以我们需要一个双反斜杠来获得一个反斜杠,通过编译器到充当正则表达式中的逃脱。它可能与你相似。

希望这有帮助。