Регулярные выражения - удалить фразу из текста

Разговоры на любые темы: вы можете обсудить здесь какой-либо сайт, найти единомышленников или просто пообщаться...
djalex777
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 23.03.2006 (Чт) 16:02

Регулярные выражения - удалить фразу из текста

Сообщение djalex777 » 26.05.2011 (Чт) 14:51

В регулярных выражениях не силён. Никак не могу написать такое выражение. Цель - удалить словосочетание из текста по корню. К примеру, есть текст:
Мы строим каркасно-щитовые дома. Мы строим (щитовые дома).Щитовые дома - лучшие дома.

И есть фраза щитовые дома с уже выделенными корнями - "щит дом". Должен получиться текст
Мы строим каркасно-щитовые дома. Мы строим (). - лучшие дома.


Написал так:
Код: Выделить всё
    ...
    With regexp
        .Global = true
        .IgnoreCase = true
        .Pattern = "((^|\s|[.!?()|<>])щит([а-яА-Яa-zA-Z0-9]*)(\s*)дом([а-яА-Яa-zA-Z0-9]*))"
    End With
    text = regexp.replace(text, "")
    ...

Но с таким выражением мы получим:
Мы строим каркасно-щитовые дома. Мы строим ) - лучшие дома.

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Регулярные выражения - удалить фразу из текста

Сообщение Хакер » 26.05.2011 (Чт) 15:14

Если «исправить с минимальными затратами»:
Код: Выделить всё
    Text = regexp.Replace(Text, "$2")


А по хорошему — выражение кривое, нужно переписать.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: Регулярные выражения - удалить фразу из текста

Сообщение alibek » 26.05.2011 (Чт) 15:31

djalex777 писал(а):В регулярных выражениях не силён.

Значит изучай.
http://www.pcre.ru/eval сделает этот процесс проще.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Народный треп

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot и гости: 28

    TopList  
cron