Я уже много часов борется с этим, и у меня есть проблемы с RegEx в любом случае, но независимо от того, что я не могу найти, моя ошибка. Моя цель состоит в том, чтобы иметь возможность разделять части строк, которые находятся в буфере обмена, вставляя только оставшуюся часть в различные текстовые поля. Формат в буфере обмена:Использование RegEx для разделения, а затем обрезания строк в списке
Рубрика: Информация
Рубрика: Информация
Информация
Рубрика: Информация
и т.д., и т.д., и т.д.
Мне нужна только информация для r emain, отсекая заголовок, двоеточие и пробелы. Код у меня до сих пор является:
string[] lines = null;
object obj = this.Parent;
StackPanel parent = (StackPanel)obj;
ChildControls ccChildren = new ChildControls();
if (Clipboard.GetText().Contains('='))
{
}
else if (Clipboard.GetText().Contains(':'))
{
string filterLabels = @"(?!\:)([^\:]*)$";
lines = Regex.Split(Clipboard.GetText(), "\r\n");
List<string> linesList = new List<string>(lines);
foreach (string line in linesList)
{
Regex.Replace(line, filterLabels, "");
}
}
else
{
lines = Regex.Split(Clipboard.GetText(), "\r\n");
}
RegEx в filterLabels
я получил от игры с RegexBuddy, и по тому, что он должен работать нормально. Но на самом деле это ничего не снимает. Кто-нибудь поймал то, что мне не хватает?
Почему бы не фильтровать (Regex.Replace) до разделения? – Paparazzi
Не является ли строка фильтра неправильной? Например,? является квантором. Поиск персонажа? вам нужно иметь \\? а не просто? – Pengtuzi
Когда '?' Используется в начале группы (т. Е. После открытия скобки), это означает «сделать это незахваченной группой». Он на самом деле не пытается найти символы '?', Он говорит движку игнорировать первую группу. – ean5533