помогите с регуляркой, как взять нужное слово без допов?

  • Автор темы Автор темы backoff
  • Дата начала Дата начала

backoff

Client
Регистрация
20.04.2015
Сообщения
6 386
Реакции
6 671
Баллы
113
где-то находил на форуме, но сейчас не могу найти.

есть таблица, в ней есть названия, нужно взять строки где содержится только это слово, а другие не брать

например имеем:
мороженное
мороженное
мороженное
холодное мороженное
холодное мороженное
холодное мороженное
говеное мороженное
говеное мороженное
говеное мороженное

надо взять только те строки где есть слово "мороженное"
другие строки брать не надо.

спасибо
 
где-то находил на форуме, но сейчас не могу найти.

есть таблица, в ней есть названия, нужно взять строки где содержится только это слово, а другие не брать

например имеем:
мороженное
мороженное
мороженное
холодное мороженное
холодное мороженное
холодное мороженное
говеное мороженное
говеное мороженное
говеное мороженное

надо взять только те строки где есть слово "мороженное"
другие строки брать не надо.

спасибо
.*мороженное.*
96741

А так вы еще и про таблицу говорите, но в заголовке про регулярку...

Так?
96742
 
Последнее редактирование:
не, не понял меня, мне из этой таблицы нужны строки где только (единственное) слово "мороженное"
то есть имеем
C#:
Развернуть Свернуть Копировать
мороженное
мороженное
мороженное
холодное мороженное
холодное мороженное
холодное мороженное
говеное мороженное
говеное мороженное
говеное мороженное

должно на выходе взять только это

C#:
Развернуть Свернуть Копировать
мороженное
мороженное
мороженное
 
где-то находил на форуме, но сейчас не могу найти.

есть таблица, в ней есть названия, нужно взять строки где содержится только это слово, а другие не брать

например имеем:
мороженное
мороженное
мороженное
холодное мороженное
холодное мороженное
холодное мороженное
говеное мороженное
говеное мороженное
говеное мороженное

надо взять только те строки где есть слово "мороженное"
другие строки брать не надо.

спасибо
(?m)^мороженное$
 
  • Оценить
Реакции: doc и backoff
за что этот момент отвечает?
и почему не получилось найти при помощи такой регулярки ^мороженное$ ?
можно пояснения? спасибо

ps \ в тестере рег.выр. работает, а из таблицы не берет )))) лол
 
за что этот момент отвечает?
и почему не получилось найти при помощи такой регулярки ^мороженное$ ?
можно пояснения? спасибо

ps \ в тестере рег.выр. работает, а из таблицы не берет )))) лол
Многострочный текст.
В шпаргалке снизу справа посмотритет.
 
короче вот видос запилил, для понимания - https://disk.yandex.ru/i/7na1VU9ebmacZw

не работает в таблицах

ps \ такое ощущение что в таблицах это тупо не работает
Отправьте пожалуйста таблицу, так как у меня работает.

Либо конкретно в вашем случае, пробуйте так:
(?m)^Face\b
Либо так:
(?m)\bFace\b
 
Последнее редактирование:
где-то находил на форуме, но сейчас не могу найти.

есть таблица, в ней есть названия, нужно взять строки где содержится только это слово, а другие не брать

например имеем:
мороженное
мороженное
мороженное
холодное мороженное
холодное мороженное
холодное мороженное
говеное мороженное
говеное мороженное
говеное мороженное

надо взять только те строки где есть слово "мороженное"
другие строки брать не надо.

спасибо
Может через делегат?
C#:
Развернуть Свернуть Копировать
List<string> list = new List<string>()
{
    "мороженное",
    "мороженное",
    "мороженное",
    "холодное мороженное",
    "холодное мороженное",
    "холодное мороженное",
    "говеное мороженное",
    "говеное мороженное",
    "говеное мороженное"
};

var result = list.FindAll(delegate(string f)
{
    return f == "мороженное";
});
 
хз, так и не победил, пытался через списки сделать, тоже не получилось.
сделал через костыль - дополнительная проверка, на правильное взятие :(

Нужно брать строки, где содержится только это слово и никаких других более?
Может, проще в список их запихнуть и каждую строку проверить? Trim, а потом Equals?
 
не, не понял меня, мне из этой таблицы нужны строки где только (единственное) слово "мороженное"
то есть имеем
C#:
Развернуть Свернуть Копировать
мороженное
мороженное
мороженное
холодное мороженное
холодное мороженное
холодное мороженное
говеное мороженное
говеное мороженное
говеное мороженное

должно на выходе взять только это

C#:
Развернуть Свернуть Копировать
мороженное
мороженное
мороженное
Можно ещё вот так, надеюсь это будет полезно))

Взять строки из таблицы с помощью regexp:
Развернуть Свернуть Копировать
var columnCList = project.Tables["Таблица"].GetColumn("C").ToList(); // для примера столбец с данными "C"
foreach (var s in columnCList.Where(s => Regex.IsMatch(s, "(?m)^мороженное$")))
{
    project.Lists["res"].Add(s);
}

Приложил по традиции шаблон, чтобы было проще проверить.
 

Вложения

  • Оценить
Реакции: Sho и Sergodjan
Еще один простой вариант, брать строку из таблицы по регулярке: ^.*;мороженное; (точка-с-запятой - это разделитель столбцов у таблицы). В данном случае (на скриншоте) - были взяты успешно все строки с удалением, где в столбце Б было одно слово "мороженное" и вышло с ошибкой, когда в таблице остались не нужные варианты.

97684
 
  • Оценить
Реакции: djaga и backoff

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)