2014-11-06 3 views
0

Мне нужно вернуть весь текст после моего правила соответствия вплоть до следующего нового символа строки.Как совместить текст между двумя совпадениями правил

меня это до сих пор, который просто получает все после матча, но я просто хочу слово Смит

(?<=name=sn\nuserdetails.attribute.value=).* 

Вот часть строки:

== \ nuserdetails.attribute.name = sn \ nuserdetails.attribute.value = Смит \ nuserdetails.attribute.name = cn \ nuserdetails.attribute.value

Кто-нибудь знает, как это сделать?

+0

Какой язык вы используете? –

+0

Запуск этого в .Net и попытка получить данные из текста, возвращенного из ответа REST – wingyip

ответ

1
(?<=name=sn\\nuserdetails\.attribute\.value=)[^\\n]+ 

Try this.See demo.

http://regex101.com/r/aM5oU3/8

или

(?<=name=sn\\nuserdetails\.attribute\.value=)(?:(?!\\n).)+ 

См демо.

http://regex101.com/r/aM5oU3/7

+0

Почему вы используете этот '(?: (?! \\ n).) +'? это то же самое, что и '[^ \ n] +' –

+0

@AvinashRaj предоставили оба варианта. – vks

+0

нет, пойдите для отрицательного взгляда, только если это невозможно через отрицательный класс char. –

1

Вы должны использовать этот \n шаблон, чтобы соответствовать символу новой строки не \\n.

(?<=name=sn\nuserdetails\.attribute\.value=).* 
Смежные вопросы