Форум » Справочная » Регулярные выражения » Ответить

Регулярные выражения

Алексей: Доброе время суток! Не могу разобраться с регулярными выражениями. Если не сложно, напишите здесь примеры каких нибудь полезных регулярных выражений... Заранее благодарю!

Ответов - 57, стр: 1 2 3 All

odinokiyklaus: wasyaka пишет: Навроде контрольной в школе... По идее, это правила для обработки омографов - слов, в которых ударение ставится в зависимости от контекста или написания заглавной буквы. Здесь надо после большой гласной буквы "О" или "Ю" поставить знак ударения, чтобы получилось типа такого: #(?-i)([а-я]) \bКолю\b=$1 Ко<лю #(?-i)([а-я]) \bколю\b=$1 колю< #(?-i)\bКолю\b=колю В результате получится позвал Колю - будет "позвал Ко<лю" дрова колю - будет "дрова колю<" Колю - будет колю - почему то с маленькой буквы. Зачем не пойму.

wasyaka: odinokiyklaus пишет: Здесь надо после большой гласной буквы "О" или "Ю" поставить знак ударения, чтобы получилось типа такого: #(?-i)([а-я]) \bКолю\b=$1 Ко<лю #(?-i)([а-я]) \bколю\b=$1 колю< #(?-i)\bКолю\b=колю В результате получится позвал Колю - будет "позвал Ко<лю" дрова колю - будет "дрова колю<" Колю - будет колю - почему то с маленькой буквы. Зачем не пойму. Голос Максим click here Ударение заглавной буквой(гласной) Смысл: Если начальное слово строки соответственно написанное с заглавной омограф вручную или словарём. если в тексте то: Колю побили=КОлю побили; колю лёд=колЮ лёд; - омограф проставляется автоматом, а смысл вопроса : Правильно составлено рег выражение? ну и по числам: строка 340#(?i)(\bглава\b|\bчасть\b|\bкнига\b|\bсерия\b)\s(\d+)([^\-\d+])?=$1 $2-я$3... добавил (?i) иначе если Глава(с заглавной) не срабатывало) добавил стр. 372 #(\bмм\b)\s(\bмин\b)=миллиметровых $2 #(\bмм\b)\s(\bминомёт\b)=миллиметровый $2 #(\bмм\b)\s(\bминомёта\b)=миллиметрового $2 #(\bмм\b)\s(\bминомётами\b)=миллиметровыми $2 #(\bмм\b)\s(\bминомётом\b)=миллиметровым $2 #(\bмм\b)\s(\bорудие\b)=миллиметровое $2 #(\bмм\b)\s(\bорудия\b)=миллиметровые $2 #(\bмм\b)\s(\bорудиями\b)=миллиметровыми $2 #(\bмм\b)\s(\bснаряда\b)=миллиметрового $2 #(\bмм\b)\s(\bснаряды\b)=миллиметровые $2 #(\bмм\b)\s(\bых\b)=миллиметровых $2 В словарь corector у вас clean добавил(это всё для чисел) #(\d+)(\.)(\d+)(\.)(\d+)=$1$2 $3$4 $5 #(\d+)х(\d+)х(\d+)=$1 на $2 на $3 #(\d+)(\,)(\d+)х(\d+)=$1 $3 на $4 #(\d+)(\.)(\d+)=$1:$3 #от\s(\d+)(\.)\s(\d+)(\.)=от $1-го $3-го #с\s(\d+)(\.)\s(\d+)(\.)=с $1-го $3-го #что\s(\d+)(\.)\s(\d+)(\.)=что $1-го $3-го #и\s(\d+)(\.)\s(\d+)(\.)=и $1-го $3-го #по\s(\d+)(\.)\s(\d+)(\.)=по $1-е $3-е #за\s(\d+)(\.)\s(\d+)(\.)=за $1-е $3-е #(\d+)(\.)\s(\d+)(\.)=$1-го $3-го #\b(0)(\,)(\d+)=$1 $3 #(\d+)(\,)(\d+)=$1 и $3 И консультация: словарь е=ё (балаболка) очень громозкий, ели его в основную группу - конфликт(вздёрнул брОви). В папке 1 - тормоз,разделил словари на две группы 1-я (папка 1 + е=ё + все=всё + сокращения + транслит)) 2-Я омографы и обрабатываю в два прохода. - альтернатива? В принципе(в основном) голос Speech2Go ( 247_S2G_Maxim и 248_S2G_Tatyana) адаптировал под KooBAudio Ели интересно поделюсь. Образец https://yadi.sk/d/FrjLlH-gvSFd2

MoppoH2: да Максим и Татьяна имеют более человеческое произношение, но эти движки читают без интонаций, без знаков препинания или я просто привык к Николаю Образец https://yadi.sk/d/aKJNxneXvSXz3


odinokiyklaus: Всем привет! Тем кому удобно редактировать рег. выражения в замечательной программе Notepad++, рекомендую использовать настройки, которые эффективно подсвечивают их синтаксис. Если установка программы Notepad++ производилась по умолчанию, то её настройки будут располагаться по пути (для Windows 7): c:\Users\ИМЯ\AppData\Roaming\Notepad++\ В данную папку поместите файл userDefineLang.xml, а в папку themes - KoobAudio_Theme.xml После этого следует перейти по пути Опции->Определение стилей-> и далее выбрать тему KoobAudio_Theme Далее выбрать Стиль синтаксиса KoobAudio

wasyaka: Привет! Вопрос: Фраза:Кукловод #4Новый фантастический боевик (Эксмо) Приключения Кукловода продолжаются! рег #([A-Za-zА-яЁё])\s(#)(\d)=$1. книга $3 Получилось: Кукловод. книга четвёртая ...Новый фантастический боевик (Эксмо) Приключения Кукловода продолжаются! Возможно ли, чтобы после троеточия фраза начиналась с новой строки?

odinokiyklaus: wasyaka пишет: Возможно ли, чтобы после троеточия фраза начиналась с новой строки? Конечно! В любом месте можно сделать перенос строки. Для этого нужно после знака равно вставать последовательность символов \r\n, которые программа опознает как перенос строки. К примеру: #([A-Za-zА-яЁё])\s(#)(\d)=$1. книга $3 - заменить на #([A-Za-zА-яЁё])\s(#)(\d)=$1. \r\nкнига $3 В этом случае книга $3 будет перенесено на следующую строку. \r - перевод каретки в начало строки на которой вы находитесь \n - переход на новую строку с текущей строки

wasyaka: odinokiyklaus пишет: Конечно! В любом месте можно сделать перенос строки. Для этого нужно после знака равно вставать последовательность символов \r\n, которые программа опознает как перенос строки. СПАСИБО! Ну и вопрос: Сноска:[2 - Колония на Тобаго не оказала сопротивления Бриджесу и была полностью разграблена, правда, без кровопролития.]. надо заменить ] на </VOICE> ] = </VOICE> срабатывает [2 - Колония на Тобаго не оказала сопротивления Бриджесу и была полностью разграблена, правда, без кровопролития. на <VOICE REQUIRED="NAME=IVONA 2 Tatyana OEM"> - текст сноски с учётом изменяемым номером ссылки?

odinokiyklaus: wasyaka пишет: [2 - Колония на Тобаго не оказала сопротивления Бриджесу и была полностью разграблена, правда, без кровопролития. на <VOICE REQUIRED="NAME=IVONA 2 Tatyana OEM"> - текст сноски с учётом изменяемым номером ссылки? Вообще не понял.

wasyaka: odinokiyklaus пишет: Вообще не понял. Это для переключения на другой голос [2 - Колония на Тобаго не оказала сопротивления Бриджесу и была полностью разграблена, правда, без кровопролития.]. прочитает Максим. а при таком: <VOICE REQUIRED="NAME=IVONA 2 Tatyana OEM"> 2 - Колония на Тобаго не оказала сопротивления Бриджесу и была полностью разграблена, правда, без кровопролития. </VOICE>. Прочитает Татьяна. С помощью опции заменить(это в Балаболке) квадратные скобки меняются на теги, цифру(ы) приходится удалять вручную... Звучить так: https://yadi.sk/d/wRXuNST2w9g8T

odinokiyklaus: wasyaka пишет: Прочитает Татьяна. С помощью опции заменить(это в Балаболке) квадратные скобки меняются на теги, цифру(ы) приходится удалять вручную... Если нужно удалить только цифру, то поместите это правило куда-нибудь в предобработку. Оно удалит в выражении "[2 - Колония" это - "2 - ". В результате чего вместо этого "[2 - Колония" должно остаться "[Колония" #[\d+\s-\s(?=[А-ЯЁа-яё]+)=[

wasyaka: Привет! Камрады. Пытался зайти с ноута - Так всё секретно... - несмог побороть защиту от пользователей... Печально... Но... (после многочисленных тестирований) - лучшая прога для работы (начальной подготовки с словарям). Но, читалка, -попирание прав человека... Несколько вопросов: |!вырва|- для чего !знак? [\S]- ???

MoppoH2: wasyaka пишет: |!вырва|- для чего !знак? чтобы не добавить еще раз это сочетание в рег выражение, так как оно встречается с обоими омографами, ! не дает искать это словосочетание, знак ! не принципиально можно было бы использовать любой знак wasyaka пишет: [\S]- ??? ищет только в соседнем слове совпадение

wasyaka: MoppoH2 пишет: чтобы не добавить еще раз это сочетание в рег выражение, так как оно встречается с обоими омографами, ! не дает искать это словосочетание, знак ! не принципиально можно было бы использовать любой знак Спасибо. Эксперементировал. Перегонял в rex-на ! указывало ошибку и вся строка не работала.

wasyaka: odinokiyklaus пишет: Всем привет! Тем кому удобно редактировать рег. выражения в замечательной программе Notepad++, рекомендую использовать настройки, которые эффективно подсвечивают их синтаксис. Привет! А возможно прописать указание на ошибки(к имеющемуся \ вместо |)? И также в окне программы, где только нехватка или излишек скобок... А то приходится с помощью найти-заменить, что не всегда вовремя вспоминается... Ошибки: || пробел | | пробел \b\b (| |) Или как то прописать, чтоб автоматом?

odinokiyklaus: wasyaka пишет: Или как то прописать, чтоб автоматом? Не нашёл способа реализовать проверку на ощибки. Сам пользуюсь сначала визуальной проверкой правил и после проврекой в отлпдке словарей. Хотя.. есть же Spell Chеcker.. Вот бы его заюзать... подумаю

odinokiyklaus: В общем пока ничего толкового не придумал как отмечать те ошибки, о которых вы говорили. Единственно придумал - перенастроил синтаксис правил для Notepad++ Теперь в случае незакрытой скобки это становится видно сразу. Я так у себя уже несколько ошибок поймал. Как видно из картинки правило с ошибкой окрасолось в зелёный цвет после знака равенства. Синтаксические правила можно скачать по ссылке. Справку по Notepad++ можно посмореть здесь

wasyaka: odinokiyklaus пишет: В общем пока Спасибо, не думал что такая головоломка...



полная версия страницы