0

我在构建正则表达式时遇到了麻烦。

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

$T.CA

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

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

我怎么能匹配这个?

4

4 回答 4

2

你有什么:

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

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

您必须添加

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

匹配句点和另一组字母或下划线(如果你想要的话)。

于 2011-10-22T21:52:11.323 回答
2

关于什么

\\$[a-zA-Z0-9_]+[.][a-zA-Z0-9_]+
于 2011-10-22T21:52:16.823 回答
1

需要注意的一些事项:

您正在使用不区分大小写的匹配,但您在字符类中同时提供了 az 和 AZ 。此外,您的字符类可以写为 \w,因此您实际需要的正则表达式就像这样简单:

\\$\\w\\.\\w+
于 2011-10-22T22:08:05.573 回答
0
\$\w\.\w+

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

于 2011-11-08T09:22:30.813 回答