Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 13.06.2012, 21:01
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Нет, извините, \b обозначает границу только слов, написанных латинскими буквами, цифрами и знаком "_", поэтому мой последний вариант не подходит.
Ответить с цитированием
  #12 (permalink)  
Старый 13.06.2012, 21:13
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Есть такое решение: использовать обычную регулярку
/ТОВ|ООО|ДП|НПКП|ЗАО|ОАО|ЧП|СПД|ЧП|ФОП|ФЛП|ФЛ|НПП|МП|фирма|компания|частное предприятие|предприятие|ч\/п|OOO|интернет\-магазин|интернет|магазин|TM/g
, и использовать метод replace, где 2-ой параметр - функция, которая проверяет, нет ли непосредственно перед или после найденной строки буквы.
Ответить с цитированием
  #13 (permalink)  
Старый 13.06.2012, 21:18
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Deff привёл неправильное решение, так как, кроме мелких ошибок, окажутся съеденными пробелы, точки или запятые перед или после ключевых слов.
Ответить с цитированием
  #14 (permalink)  
Старый 13.06.2012, 21:33
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Ещё есть такое решение:
str.replace(/(^|[^a-zа-яіґїєё])(?:ТОВ|ООО|ДП|НПКП|ЗАО|ОАО|ЧП|СПД|ЧП|ФОП|ФЛП|ФЛ|НПП|МП|фирма|компания|частное предприятие|предприятие|ч\/п|OOO|интернет\-магазин|интернет|магазин|TM)(?![a-zа-яіґїєё])/g, "$1")

где str - исходная строка.

Последний раз редактировалось oneguy, 13.06.2012 в 21:44.
Ответить с цитированием
  #15 (permalink)  
Старый 13.06.2012, 21:54
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Если список ключевых слов нужно будет редактировать только вручную, то я советую использовать регулярный литерал, если список должен составляться Javascript'ом, то использовать RegExp(str)
Ответить с цитированием
  #16 (permalink)  
Старый 14.06.2012, 00:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от oneguy
Deff привёл неправильное решение,
Никто не мешает в подстановке вставлять взад пробел, (который никому не помешает) - у мну большой опыт на майл ру парсинг-цензуры в чате (не жаловались), И в моем варианте вставки замены в данном топе - не критично...
Ответить с цитированием
  #17 (permalink)  
Старый 14.06.2012, 00:37
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Сообщение от Deff Посмотреть сообщение
Никто не мешает в подстановке вставлять взад пробел, (который никому не помешает) - у мну большой опыт на майл ру парсинг-цензуры в чате (не жаловались), И в моем варианте вставки замены в данном топе - не критично...
Да нет, в вашем случае из "ля-ля-ля,ООО ля-ля" получится "ля-ля-ля ===== | CENSORED | ===== ля-ля", то есть запятая исчезнет.
Ответить с цитированием
  #18 (permalink)  
Старый 14.06.2012, 00:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

oneguy,
Гы, коли мы убираем слово - Запятая верно не критична ?
Ответить с цитированием
  #19 (permalink)  
Старый 14.06.2012, 00:55
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Ну, это зависит от поставленной задачи.
Ответить с цитированием
  #20 (permalink)  
Старый 14.06.2012, 03:15
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Сообщение от Deff
у мну большой опыт на майл ру парсинг-цензуры в чате (не жаловались),
Цензура чата реализована на клиенте? Если да, то можна посмотреть, а то я не знаю где чат в mail.ru?
Извините за офф-топ.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите сделать регулярку для HTML шаблона zeraid Общие вопросы Javascript 1 25.12.2011 15:28
Помогите "допилить" регулярку. nule Общие вопросы Javascript 6 16.11.2011 20:05
Помогите сократить код Diego Общие вопросы Javascript 4 14.02.2011 20:01