0

我需要一个正则表达式来检查字符串是否具有这种模式:

[一些随机字符].DDD+DDDD

它可以以随机字符开头,但以点结尾。然后是三位数字,然后是一个加号,然后是四位数字。如何构造正则表达式并检查 NSString 是否具有这种模式?

谢谢!

4

3 回答 3

2

这应该是您正在寻找的。

NSString *regex = @"(^[^.]*\.[0-9]{3}\+[0-9]{4}$)";
NSPredicate *pred = [NSPRedicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([pred evaluateWithObject:mystring])
{
  //do something
}

有很多很好的正则表达式生成器来测试你的正则表达式。例如:http ://rubular.com

于 2012-10-11T23:34:59.430 回答
0

正确的正则表达式是^[^.]*\.[0-9]{3}\+[0-9]{4}$

其他两个答案都忘记转义某些字符。

于 2012-10-11T23:43:22.783 回答
-1

表达式 ^[^.]*\.[0-9]{3}\+[0-9]{4}$ 应该这样做。

^ 表示字符串 [^.]*\ 的开头。表示零个或多个非句点字符后跟一个句点 [0-9]{3} 表示 3 位 (0-9) \+ 表示加号 [0-9]{4} 表示 4 位 $ 表示字符串结尾

于 2012-10-11T23:22:57.373 回答