我在iPhone项目中使用RegexKitLite,并希望使用正则表达式来查找以@
- 符号开头的单词。例如,"@home @chores"
在搜索时会返回两个单词。
我使用的正则表达式字符串是"(?m-s:@.*\\s*)"
。但是,当我使用它时,我会崩溃。当我使用相同的内容,但使用#
代替@
时,它可以正常运行:“(?m-s:#.*\\s*)"
。WTF?
如果对正则表达有更好理解的人可以帮助我,我将非常感激。到目前为止,我看到的教程对我来说几乎是不可理解的。
答案 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)
这可能听起来太简单,但您是否尝试将@
更改为\@
或\\@