2016-06-03 4 views
1

Я работаю над регулярным выражением, которое соответствует определенному утверждению и возвращает следующую строку.C# регулярные выражения, которые возвращают следующую строку

, например, из следующих строк, я хочу совместить «токен» и получить «content1» & «content2».

some statement 
token 
content1 
some other statement 
some othe statement 2 
token 
content2 
continutes 
..... 

Я пробовал это утверждение, но я думаю, что это принципиально неправильно.

var r = new Regex("token.*(\r\n){2}", RegexOptions.Singleline); 

Любая идея?

+2

Пожалуйста, прочитайте [ask] и поделитесь тем, что вы пробовали. – CodeCaster

+0

Вы должны увеличить свой вопрос с помощью дополнительных правил, объясняющих, сколько пробелов ожидается между повторяющейся строкой и номером строки, например. 0-x пробелы –

+1

@Robin Это недетерминированно. Единственное, о чем я могу думать, это открыть конец следующей строки, \ n или \ r \ n. – Mori

ответ

3

Вы можете сделать это с помощью регулярных выражений

(?<=\ntoken\n).* 

Он использует положительный взгляд-позади, чтобы найти строку, состоящую только из token затем сопоставляет все на следующей строке.

See this example at ideone.

+0

Если вы действительно проверяете, предшествует ли «токену» новый символ строки? Я имею в виду, что, если это в начале строки? –

Смежные вопросы