构建一个正则表达式来检测字符串中间的句点

时间:2011-10-22 21:47:57

标签: iphone objective-c regex cocoa-touch nsregularexpression

我无法构建正则表达式。

我希望能够检测到以下类型的字符串:

$T.CA

现在它会检测$ T但会忽略.CA。

NSRegularExpression *symbolRegex = [[NSRegularExpression alloc] initWithPattern:@"(\\$[a-zA-Z0-9_]+)" 
                                                                              options:NSRegularExpressionCaseInsensitive 
                                                                             error:nil];

我该如何匹配呢?

4 个答案:

答案 0 :(得分:2)

你有什么:

$[a-zA-Z0-9_]+

如你所说,检测$和至少一个字母或下划线的字符。

您必须添加

[.][a-zA-Z0-9_]+

匹配期间和另一组字母或下划线(如果它是你想要的)。

答案 1 :(得分:2)

怎么样

\\$[a-zA-Z0-9_]+[.][a-zA-Z0-9_]+

答案 2 :(得分:1)

有些注意事项:

您正在使用不区分大小写的匹配,但您在字符类中同时提供a-z和A-Z。另外你的角色类可以写成\ w,所以你真正需要的正则表达式就像这样简单:

\\$\\w\\.\\w+

答案 3 :(得分:0)

\$\w\.\w+

此正则表达式可以正常工作。 但我对object-c知之甚少,你必须自己将这个表达式转换为object-c字符串。