我需要一个正则表达式来检查字符串是否具有此模式:
[一些随机字符] .DDD + DDDD
它可以以随机字符开头,但以点结尾。然后三位数,然后加号后跟四位数。如何构造正则表达式并检查NSString是否具有此模式?
谢谢!
答案 0 :(得分:2)
这应该是你要找的。 p>
NSString *regex = @"(^[^.]*\.[0-9]{3}\+[0-9]{4}$)";
NSPredicate *pred = [NSPRedicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([pred evaluateWithObject:mystring])
{
//do something
}
有很多优秀的正则表达式生成器可以测试你的正则表达式。 E.x。:http://rubular.com
答案 1 :(得分:0)
正确的正则表达式是^[^.]*\.[0-9]{3}\+[0-9]{4}$
其他两个答案都忘了逃避某些角色。
答案 2 :(得分:-1)
表达式^ [^。] * \。[0-9] {3} \ + [0-9] {4} $应该这样做。
^表示字符串的开头 [^。] * \。表示零个或多个非句点字符,后跟句点 [0-9] {3}表示3位数(0-9) \ +表示加号 [0-9] {4}表示4位数 $表示字符串
的结尾