|
|||||||
Краткий урок по регулярным выражениям
Время создания: 12.06.2010 01:09
Раздел: Компьютер - Программирование - Регулярные выражения
Запись: xintrea/mytetra_syncro/master/base/0000001517/text.html на raw.github.com
|
|||||||
|
|||||||
(04:48:21) InterSphere: далется это так (04:48:36) InterSphere: dict add "СЛОВО КОТОРОЕ ПИШУТ БОТУ" ОТВЕТ БОТА (04:48:45) InterSphere: то есть слово в кавычках, а ответ просто так (04:48:48) InterSphere: идем далее (04:49:00) Rafer: ок (04:49:05) InterSphere: например слово "колбаса" (04:49:10) InterSphere: то есть (04:49:20) InterSphere: dict add "колбаса" вкусно (04:49:26) InterSphere: тогда получаем (04:49:40) InterSphere: боту говорят колбосас, а он отвечает вкусно (04:49:51) Rafer: ясно Жень) (04:49:54) Rafer: я понял)клева (04:49:58) InterSphere: но люди могут написать не колбоса, а кАлбАса (04:50:06) Rafer: ну да (04:50:13) InterSphere: тогда у нас две буквы (04:50:14) InterSphere: А и О (04:50:17) InterSphere: делаем так (04:50:28) InterSphere: к[ао]лб[ао]са (04:50:39) Rafer: ясно) (04:50:40) InterSphere: то есть бот из [ ] выберает одну из букв (04:50:48) InterSphere: идем далее (04:51:09) InterSphere: если пользователь написал например: хочешь колбасу? (04:51:24) InterSphere: то здесь уже не колбасА, а колбасУ (04:51:30) Rafer: ну да (04:51:34) InterSphere: любой символ можно заменить как .? (04:51:37) InterSphere: получаем (04:51:54) InterSphere: dict add "к[ао]лб[ао]с.?" (04:52:09) InterSphere: то есть бот сработает и на колбасА и на колбасУ и на колбасЫ (04:52:16) InterSphere: но не сработает на колбасАА (04:52:21) InterSphere: так как символ только один (04:52:28) InterSphere: можно поставить два символа (04:52:36) InterSphere: dict add "к[ао]лб[ао]с.?.?" (04:52:44) Rafer: ясно) (04:52:49) InterSphere: идем далее (04:53:00) InterSphere: бот будет выискивать только одно слово (04:53:23) InterSphere: то есть он среагирует только если слово одно (04:53:34) InterSphere: а если будет предложение, то бот не найдет слова, так как символов много (04:53:46) InterSphere: значит перед киолбасой и после нее нужно добавить любые буквы (04:53:47) Rafer: сповтарил баш 2 раза) (04:53:51) InterSphere: .* - любые буквы (04:53:57) InterSphere: то есть получаем (04:54:14) InterSphere: dict add ".*к[ао]лб[ао]с.?.?.*" вкусно (04:54:22) Rafer: тема ясно я се скопирну (04:54:29) InterSphere: но человек может так же сказать и поколбасим (04:54:33) InterSphere: а бот скажет вкусно (04:54:35) InterSphere: что не логично (04:54:46) Rafer: ну да) (04:54:52) InterSphere: значит нам нужно ограничить слово. показать, где начало, а где конец (04:54:59) InterSphere: \b - начало или конец слова (04:55:01) InterSphere: получаем (04:55:18) InterSphere: dict add ".*\bк[ао]лб[ао]с.?.?\b.*" вкусно (04:55:26) InterSphere: вот это и есть регулярные выражения) |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|