Regexp:
(?:SELECT|INSERT)[\s\S]*?(?=\"|\;)
Входной сигнал:
"SELECT DISTINCT "
"SELECT DISTINCT "
"SELECT DISTINCT "
"SELECT DISTINCT ";
Выход: (Пример ...)
SELECT DISTINCT
SELECT DISTINCT
SELECT DISTINCT
SELECT DISTINCT
C# Код:
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?:SELECT|INSERT)[\s\S]*?(?=\""|\;)";
string input = @"""SELECT DISTINCT ""
""SELECT DISTINCT ""
""SELECT DISTINCT ""
""SELECT DISTINCT "";";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
См.: https://regex101.com/r/rzBTpo/2
Предполагается, что это код C#, на котором запущено регулярное выражение? Если так, то, кажется, отсутствуют пропущенные знаки для объединения этих строк вместе. – juharr