我有以下字符串:
authmod=adobe&user=ibrahimk04&challenge=5Axn6g==&response=3uy8NkHDVLpt0HwT8PraZg==&opaque=KuAj5Q==
我正在使用下面的正则表达式来提取 ibrahimk04
@"(user)=((\\w*)\\&)"
但它正在返回 user=ibrahimk04&。为什么 ?它应该返回具有 2 个范围的数组。我错了吗?
最佳答案
使用lookaround assertions匹配user=
之后的一个或多个单词字符然后是 &
符号。
(?<=user=)\\w+(?=&)
或
(?<=user=)\\w+
解释:
-
(?<=user=)
正向后视断言要匹配的字符前面必须有user=
。 -
\\w+
匹配一个或多个单词字符。 -
(?=&)
断言匹配的单词字符后面必须跟一个&
符号。
关于ios - NS正则表达式组(匹配项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26469161/