Модераторы: ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выделить начало слова 
:(
    Опции темы
DissDoc
Дата 1.11.2010, 19:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Всем привет. Регулярки составлять могу только самые простые. Поэтому не хватает ума, как сделать так. Есть словосочетание какое-то. Например
Код

Test as a text

Нужно регулярным выражением найти все слова, которые начинаются на [te] (регистр не учитывать) и заменить например на [aaa]

PM MAIL WWW   Вверх
baldina
Дата 1.11.2010, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



s/(te)(\S*\s+)/aaa\2/gi
PM MAIL   Вверх
smartov
Дата 1.11.2010, 19:44 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



baldina, мне кажется на последнее слово в строке не отработает. (нет под рукой перла проверить, но по синтаксису регулярки написано что после слова должен быть 1 или больше пробелов)
PM MAIL   Вверх
shamber
Дата 1.11.2010, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: нет
Всего: 18



оно еще и ненужные штуки захватит
Код

test a text master

регулярка стреляет для слова  master
длятого, чтобы это отсеять я бы добавил
Код

s/(^|\s)(te)(\S*)/$1aaa$3/gi


Добавлено @ 23:18
хотя конечно регулярка кривоватая получилась

Это сообщение отредактировал(а) shamber - 1.11.2010, 23:33
PM MAIL Jabber   Вверх
baldina
Дата 2.11.2010, 09:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: нет
Всего: 101



угу. поторопился.
Код

s/\bte/aaa/gi


PM MAIL   Вверх
smartov
Дата 2.11.2010, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


свой собственный
****


Профиль
Группа: Экс. модератор
Сообщений: 4225
Регистрация: 2.2.2006
Где: NJ

Репутация: нет
Всего: 259



Вот я ж тоже хотел предложить использовать \b но был столь впечатлён паттерном \S (которого нет в PHP-шном PCRE) что аж забыл smile
PM MAIL   Вверх
DissDoc
Дата 2.11.2010, 13:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 463
Регистрация: 13.7.2006

Репутация: нет
Всего: нет



Ребята, всем спасибо большое. Все-таки нужно начать изучать регулярку.
Разобрал, все вроде понятно. 
Но вот с русскими символами беда smile С юникодом что-то такое.
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Регулярные выражения | Следующая тема »


 




[ Время генерации скрипта: 0.5055 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.