NSRegularExpression组(匹配)

时间:2014-10-20 15:20:28

标签: ios objective-c iphone regex nsregularexpression

我有以下字符串:

authmod=adobe&user=ibrahimk04&challenge=5Axn6g==&response=3uy8NkHDVLpt0HwT8PraZg==&opaque=KuAj5Q==

我使用下面的Regex来提取ibrahimk04

@"(user)=((\\w*)\\&)"

但它正在返回user = ibrahimk04&。为什么?它应该返回2个范围的数组。我错了吗?

2 个答案:

答案 0 :(得分:1)

使用lookaround assertions匹配一个或多个单词字符,这些单词字符位于user=之后,后跟&符号。

(?<=user=)\\w+(?=&)

OR

(?<=user=)\\w+

<强>解释

  • (?<=user=)肯定的后卫断言要匹配的字符必须以user=
  • 开头
  • \\w+匹配一个或多个单词字符。
  • (?=&)断言匹配的字符必须后跟&符号。

答案 1 :(得分:0)

试试这样: -

(?<=user=)\w*