@ -sign的正则表达式无效

时间:2009-08-14 06:05:10

标签: iphone regex

我在iPhone项目中使用RegexKitLite,并希望使用正则表达式来查找以@ - 符号开头的单词。例如,"@home @chores"在搜索时会返回两个单词。

我使用的正则表达式字符串是"(?m-s:@.*\\s*)"。但是,当我使用它时,我会崩溃。当我使用相同的内容,但使用#代替@时,它可以正常运行:“(?m-s:#.*\\s*)"。WTF?

如果对正则表达有更好理解的人可以帮助我,我将非常感激。到目前为止,我看到的教程对我来说几乎是不可理解的。

4 个答案:

答案 0 :(得分:2)

我修改了Manu的想法,只是在正则表达式中切换@的位置。

/(@\b\w+)/

我在'@foo @bar @baz @lol'的字符串上进行了测试,它似乎正在寻找匹配单词并用parens捕获它们的内容。

答案 1 :(得分:0)

为什么不简单地使用/\b@\w+/

答案 2 :(得分:0)

你有没有尝试过类似的东西:

NSString *search = @"This is my @home string with @some tokens to be @found";
NSString *regex = @"\\b@(\\w+)";
NSArray  *matches = NULL;

matches = [search componentsMatchedByRegex:regex];
// now matches should have { @"home", @"some", @"found" } values

我没有测试过,但应该可以使用。

答案 3 :(得分:0)

这可能听起来太简单,但您是否尝试将@更改为\@\\@