2014-10-20 2 views
1

У меня есть следующая строка:NSRegular выражений Группы (спички)

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

Я использую ниже Regex для извлечения ibrahimk04

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

, но она возвращается пользователю = ibrahimk04 &. Зачем ? он должен возвращать массив с 2 диапазонами. Я ошибаюсь ?

+0

использовать @ "(пользователь) = (\\ ш *) (\\ &)" – nu11p01n73R

+0

@ nu11p01n73R тот же результат –

ответ

1

Используйте lookaround assertions, чтобы соответствовать одному или нескольким символам слов, которые только что были отправлены на user=, а затем символ &.

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

ИЛИ

(?<=user=)\\w+ 

Объяснение:

  • (?<=user=) Положительный взгляд фоновым утверждает, что символы, которые собираются быть согласованы должно предшествовать user=
  • \\w+ спичек один или несколько символов слова.
  • (?=&) Утверждает, что символы совпадающего слова должны сопровождаться символом &.
+1

это работает :) –

+0

Параметр ' & 'характер и взгляд не нужны даже ... – hwnd

0

Попробуйте так: -

(?<=user=)\w*