【问题标题】:NSRegular Expression Groups (matches)NSRegular 表达式组(匹配)
【发布时间】:2014-12-15 15:25:29
【问题描述】:

我有以下字符串:

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

我正在使用下面的正则表达式来提取 ibrahimk04

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

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

【问题讨论】:

  • 使用@"(user)=(\\w*)(\\&)"
  • @nu11p01n73R 结果相同

标签: ios objective-c iphone regex nsregularexpression


【解决方案1】:

使用lookaround assertions 匹配一个或多个紧跟在user= 之后并后跟& 符号的单词字符。

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

(?<=user=)\\w+

说明:

  • (?&lt;=user=) 正向后视断言要匹配的字符必须以user= 开头
  • \\w+ 匹配一个或多个单词字符。
  • (?=&amp;) 断言匹配的单词字符后面必须跟 &amp; 符号。

【讨论】:

    【解决方案2】:

    试试这样:-

    (?<=user=)\w*
    

    【讨论】:

      猜你喜欢
      • 2014-09-29
      • 2019-01-13
      • 1970-01-01
      • 2022-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-15
      相关资源
      最近更新 更多