Регулярные выражения C# Выборка текста

261
07 марта 2017, 13:15

Не могу составить правильно регулярное выражение. Помогите!

Есть вот такой текст

Supplier 
Aker Solutions Malaysia, 
PKFZ Malaysia  
QS Plan ID/Project 
ITP Number 

Написан именно в таком порядке с переходами по строкам.

Нужно вытянуть Supplier любой текст QS Plan ID/Project (\n) ITP Number Вытянуть все но текст после Suppler может быть любой до QS. Уже сломал голову.

Answer 1

http://ideone.com/PPoTcG

using System;
using System.Text.RegularExpressions;
public class Test
{
    public static void Main()
    {
        var text = 
@"Supplier
Aker Solutions Malaysia,
PKFZ Malaysia
QS Plan ID/Project
ITP Number";
        var match = Regex.Match(text, "Supplier\n(?:.*\n){2}(.*)\n(.*)");
        var res1 = match.Groups[1];
        var res2 = match.Groups[2];
        Console.WriteLine(res1);
        Console.WriteLine(res2);
    }
}

http://ideone.com/4fAvXP

using System;
using System.Text.RegularExpressions;
public class Test
{
    public static void Main()
    {
        var text = 
@"Supplier
Aker Solutions Malaysia,
PKFZ Malaysia
Aker Solutions Malaysia,
PKFZ Malaysia
QS Plan ID/Project
ITP Number";
        var match = Regex.Match(text, "Supplier\n(?:(?!QS).*\n)*(.*)\n(.*)");
        var res1 = match.Groups[1];
        var res2 = match.Groups[2];
        Console.WriteLine(res1);
        Console.WriteLine(res2);
    }
}
READ ALSO
DependencyProperty типа IList - изменение коллекции

DependencyProperty типа IList - изменение коллекции

Есть некий UserControlУ него есть свойство зависимостей ItemsProperty типа IList<string> (да да, именно строго типизированный лист)

244
Запуск программ по расписанию через waitable timer C#

Запуск программ по расписанию через waitable timer C#

Я пишу курсовую запуск программ по расписанию на C#, тип проекта Windows FormsПреподаватель сказал реализовать через waitable timer

365
Какие ошибки не видит компилятор, но видит run-time?

Какие ошибки не видит компилятор, но видит run-time?

Проходил онлайн-собеседование и был предложен тест:

287
Как избежать ошибки PathTooLongException?

Как избежать ошибки PathTooLongException?

Имеется программа обрабатывающая различные файловые пути (напр: C:\Users\J

298