NSString: Regular Expression for blabla.DDD+DDDD where D is digit
我需要一个正则表达式来检查字符串是否具有以下模式:
[一些随机字符] .DDD + DDDD
它可以以随机字符开头,但以点结尾。 然后是三位数,然后是加号,再加上四位数。 如何构造正则表达式并检查NSString是否具有此模式?
谢谢!
这应该是您想要的。
1 2 3 4 5 6 | NSString *regex = @"(^[^.]*\\.[0-9]{3}\\+[0-9]{4}$)"; NSPredicate *pred = [NSPRedicate predicateWithFormat:@"SELF MATCHES %@", regex]; if ([pred evaluateWithObject:mystring]) { //do something } |
有很多好的Regex生成器可以测试您的正则表达式。
电子邮件:http://rubular.com
正确的正则表达式为
其他两个答案都忘记了转义某些字符。
表达式^ [^。] * \。[0-9] {3} \ + [0-9] {4} $应该可以做到。
^表示字符串的开头
[^。] * \。 表示零个或多个非句点字符,后跟一个句点
[0-9] {3}表示3位数字(0-9)
\ +表示加号
[0-9] {4}表示4位数字
$表示字符串的结尾