- не использовать режим совместимости с MS Notepad при обработке параметров командной строки. | |
- напечатать следующий файл и закрыть его. | |
- молча создавать новый файл, если он не существует. | |
- не создавать новый файл, если он не существует. | |
- спрашивать о создании нового файла, если он не существует (по умолчанию). | |
- молча открывать файл, если он бинарный. | |
- не открывать файл, если он бинарный. | |
- спрашивать об открытии файла, если он бинарный (по умолчанию). | |
- молча сохранить файл, даже если потеряются символы в указанной кодировке. | |
- не сохранять файл, если потеряются символы в указанной кодировке. | |
- спрашивать о сохранении файла, если потеряются символы в указанной кодировке (по умолчанию). | |
- игнорировать следующий параметр командной строки. | |
- форсировать создание нового экземпляра программы. | |
- задать имя класса для нового экземпляра программы. При этом имя может содержать переменную %d, которая заменяется на идентификатор процесса. | |
- переустановить ранее назначенные ассоциации типов файлов. | |
- снять ранее назначенные ассоциации типов файлов. | |
- закончить обработку параметров командной строки и выйти из программы. | |
- закончить обработку параметров командной строки. |
Методы:
СтильГлавногоОкна
0 скрытое окно.
1 окно как есть (по умолчанию).
2 свернутое окно.
3 развернутое окно.
6 свернутое, не активное окно.
9 не развернутое окно.
/Show(2)
метод отображает главное окно в свернутом режиме.
"файл"
Файл для открытия.
Кодировка
Кодировка открытия. Если -1 либо не указана, она будет определена автоматически.
СигнатураBOM
Сигнатура BOM файла. Если -1 либо не указана, она будет определена автоматически.
/OpenFile("C:\File.txt", 65001, -1)
метод открывает файл в кодировке UTF-8.
"файл"
Сохранение текущего документа в указанный файл.
Кодировка
Кодировка сохранения. Если -1 либо не указана, будет использована текущая кодировка.
СигнатураBOM
Сигнатура BOM файла. 1 - присутствует, 0 - отсутствует, -1 либо не указана - используется текущий BOM.
/SaveFile("C:\File.txt", 65001, 0)
метод сохраняет файл в кодировке UTF-8 без BOM.
/Command(4162)
метод вызывает внутреннюю команду под номером 4162.
/Call("Scripts::Main")
метод вызывает плагин Scripts и функцию Main.
"командная строка"
Командная строка.
"рабочая директория"
Рабочая директория. По умолчанию "".
Ожидать
Ожидать завершения программы. 1 - ожидать, 0 - не ожидать (по умолчанию).
СтильОкна
См. описание СтильГлавногоОкна метода /Show(). Замечание: программы могут игнорировать данный параметр.
/Exec("notepad.exe")
метод вызывает блокнот.
/Exec(`notepad.exe`)
метод вызывает блокнот.
/Exec('notepad.exe')
метод вызывает блокнот.
/Exec('%windir%\notepad.exe')
метод вызывает блокнот.
/Exec(`rundll32.exe shell32,ShellExec_RunDLL "%f"`, "%d")
метод передает активный файл для открытия по ассоциации Windows.
"Шрифт"
Имя шрифта, например, "Courier". Не изменяется, если "".
Начертание (одно из следующих):
0 игнорировать.
1 обычный шрифт.
2 жирный шрифт.
3 курсивный шрифт.
4 жирный курсивный шрифт.
Размер
Размер шрифта. Не изменяется, если 0.
/Font("Courier", 4, 10)
метод устанавливает жирный курсив Courier шрифт размером 10 pt.
ПерекодироватьИз
Кодировка источник. Если -1, она будет определена автоматически.
ПерекодироватьВ
Кодировка приемник. Если -1, она будет определена автоматически.
/Recode(1251, 866)
метод перекодирует текст из кодировки 1251 в 866.
"текст"
Вставляемый текст.
Esc-последовательности:
0 - "текст" не содержит Esc-последовательностей (по умолчанию).
1 - "текст" содержит Esc-последовательности. Набор последовательностей аналогичен диалогу поиска/замены в программе, а также:
"\s" - заменяется на выделенный в окне редактирования текст;
"\|" - указывает на положение каретки после вставки текста.
/Insert("Некая строка")
метод заменяет выделение на указанный текст.
/Insert("<B>\s</B>", 1)
метод добавляет к выделению текст по краям.
/Insert("\[0031 0032 0033]", 1)
метод заменяет выделение на "123".
"выражение"
Выражение может содержать:
- математические операции:
+, -, *, /, %, &, |, ^.
- логические операции:
>, <, ==, !=, >=, <=, &&, ||, x?y:z.
- комментарии:
/*комментарий*/
- методы:
SendMain(nMessage, wParam, lParam)
nMessage
Сообщение, которое посылается главному окну программы.
wParam
Дополнительная информация.
lParam
Дополнительная информация.
SendEdit(nMessage, wParam, lParam)
nMessage
Сообщение, которое посылается текущему окну редактирования.
wParam
Дополнительная информация.
lParam
Дополнительная информация.
Call("Плагин::Функция"[, дополнительные параметры])
- Если вызывается плагин, то код выхода передаётся через специальный параметр &nResult. &nResult должен находится на месте, где синтаксис внешнего вызова требует указатель на число.
/If(`Call("Coder::CodeFold", 1, &nResult)`, `/Call("Coder::CodeFold", 1)`, ``)
Закрыть окно CodeFold, если открыто.
- Если вызывается скрипт, то необходимо использовать внешние вызовы 2 или 4, а также передавать код выхода из скрипта через AkelPad.ScriptExitCode.
/If(`Call("Scripts::Main", 4, "EvalCmd.js", 'if (AkelPad.GetEditFile(0)) AkelPad.ScriptExitCode(1);')`, ``, `/Quit`)
Выйти, если текущий документ не имеет имени.
- Возможно вызывать метод Scripts плагина напрямую.
/If(`AkelPad.Constants._X64 == 1`, `/Quit`, ``)
Выйти, если программа имеет битность x64.
"ЕслиИстина"
Командная строка, если результат выражения - истина (не равен нулю).
"ЕслиЛожь"
Командная строка, если результат выражения - ложь (равен нулю).
/If(`SendMain(1222 /*AKD_GETMAININFO*/, 5 /*MI_SAVESETTINGS*/, 0) == 2 /*SS_INI*/`, `/OpenFile("%a\AkelPad.ini")`, ``)
метод открывает AkelPad.ini, если настройки сохраняются в ini файл.
Флаги использования переменных для методов следующих далее по командной строке. Задается суммой членов:
0 не разворачивать переменные.
1 разворачивать системные переменные (например, %windir%).
2 разворачивать переменные программы %f,%d,%a. Если флаг задан, то символ % указывается как %%.
По умолчанию: 1+2=3.
/Var(0) /OpenFile("1%a%2.txt")
открыть файл "1%a%2.txt".
Переменные в методах:
|
CmdLineBegin | Задает код, который будет добавлен к началу командной строки, перед ее обработкой.
Пример: /C+ По умолчанию: "". |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
CmdLineEnd | Задает код, который будет добавлен к концу командной строки, перед ее обработкой.
Пример: /Call("Scripts::Main", 1, "InsertDate.js", "") /C /B /L По умолчанию: "". |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
ShowModify | Определяет, где можно будет увидеть, что документ изменен. Задается суммой членов:
По умолчанию: 1+8=9, отображать везде: 1+2+4+8=15. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
StatusPosType | Определяет, как будет отражаться статистика в строке статуса. Задается суммой членов:
По умолчанию: 0. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
WordBreak | Определяет, как будет перемещаться каретка по Ctrl+Left/Ctrl+Right. Работает только при отмеченном пункте в настройках "Разделители слов" (WordDelimitersEnable=1). Задается суммой членов:
По умолчанию: 1+2+4+8+32+64=111 (AkelEdit), 1+8=9 (AkelPad). |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
MouseOptions | Определяет настройки мыши. Задается суммой членов:
По умолчанию: 1+2+4=7. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
SingleOpenProgram | Опция "Не открывать программу дважды" в режиме MDI/PMDI. Задается суммой членов:
По умолчанию: 1. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
TabOptionsMDI | Определяет настройки вкладок в режиме MDI/PMDI. Задается суммой членов:
По умолчанию: 2+256+131072=131330. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
TabNameFind | Определяет шаблон поиска регулярного выражения для имени вкладки в режиме MDI/PMDI. Если шаблон не найден, имя файла отображается без изменений. Используется совместно с TabNameRep.
По умолчанию: "". |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
TabNameRep | Определяет шаблон замены регулярного выражения для имени вкладки в режиме MDI/PMDI. Используется совместно с TabNameFind.
Пример: TabNameFind=(.{20}).{3,}(?:\.([^.]*))? TabNameRep=\1...\2 По умолчанию: "". |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
PaintOptions | Определяет некоторые установки по рисованию текста. Задается суммой членов:
По умолчанию: 0. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
FixedCharWidth | Определяет фиксированную ширину символа. Все символы, включая пропорциональные шрифты, будут рисоваться в заданной ширине. Специальные значения:
По умолчанию: 0. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
EditStyle | Определяет некоторые флаги создания окна редактирования. Задается суммой членов:
По умолчанию: 0. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
RichEditClass | Определяет какое имя класса будет у окна редактирования:
По умолчанию: 0. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
AkelAdminResident | Определяет будет ли AkelAdmin.exe оставаться в памяти:
По умолчанию: 1. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
StatusUserFormat | Определяет формат пользователя для строки состояния:
Пример: "Символ:0x%ch%[88]Шрифт:%f%[62]Таб:%t%[38]Маркер:%m%[64]Док:%dm*/%dc" По умолчанию: "" - формат не определен, дополнительная секция строки состояния не отображается. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
DateInsertFormat | Определяет формат вставляемой даты.
Время:
Дата:
Пример: "H:mm:ss dd MMMM yyyy" -> "12:50:24 01 сентября 2010" По умолчанию: "" - формат определяется программой. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
DateLogFormat | Определяет формат даты для файлов содержащих ".LOG" в начале. Работает только при отмеченном пункте в настройках "Вставить дату, если файл содержит .LOG в начале" (DateLog=1). См. DateInsertFormat для описания синтаксиса.
По умолчанию: "" - формат определяется программой. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
AkelUpdaterOptions | Определяет параметры командной строки для AkelUpdater.exe.
По умолчанию: "". |
||||||||||||||||||||||||||||||||||||||||||||||||||||||
UrlCommand | Определяет команду для запуска при клике по гиперссылке. При этом переменная %u обозначает текст гиперссылки.
Пример: Exec(`"%ProgramFiles%\Mozilla Firefox\firefox.exe" "%u"`) По умолчанию: "" - гиперссылка открывается операционной системой. |
Ctrl+X Shift+Del |
вырезать |
Ctrl+C Ctrl+Ins |
копировать |
Ctrl+V Shift+Ins |
вставить |
Ctrl+Shift+V Ctrl+Shift+Ins |
вставить текст как ANSI |
Alt+V | вставить текст в вертикальное выделение |
Ctrl+A | выделить всё |
Backspace | удалить слева |
Del | удалить справа |
Ctrl+Z | отменить |
Ctrl+Shift+Z | повторить |
Home | перейти на начало строки |
End | перейти на конец строки |
Ctrl+Home | перейти в начало текста |
Ctrl+End | перейти в конец текста |
Ctrl+Left | перейти на начало слова |
Ctrl+Right | перейти на конец слова |
Ctrl+Up | перейти на начало предыдущей строки |
Ctrl+Down | перейти на начало следующей строки |
Ctrl+PageUp | перейти к первому видимому символу |
Ctrl+PageDown | перейти к последнему видимому символу |
Ctrl+Backspace | удалить слово слева |
Ctrl+Del | удалить слово справа |
Ctrl+N | создать новый файл |
Ctrl+Shift+N | создать новое окно |
Ctrl+O | открыть файл |
F5 Ctrl+Shift+O |
переоткрыть файл |
F2 Ctrl+S |
сохранить |
Shift+F2 Ctrl+Shift+S |
сохранить как |
Ctrl+Alt+F2 | сохранить все |
Ctrl+Alt+F4 | закрыть все |
Ctrl+P | печать |
Esc Alt+F4 |
выход |
Ctrl+F | найти |
F3 | найти далее вниз. Диалог поиска/замены: закрыть диалог и найти далее вниз. |
Shift+F3 | найти далее вверх. Диалог поиска/замены: закрыть диалог и найти далее вверх. |
Ctrl+R Ctrl+H |
найти и заменить |
Ctrl+G | перейти к строке (по номеру) |
Ctrl+I | запустить "Таблицу символов" |
Ctrl+D | вставить дату |
Ctrl+T | включить/выключить режим "Поверх всех окон" |
Ctrl+U | включить/выключить режим "Перенос по словам" |
Alt+W | открыть редактируемый файл в кодировке ANSI (Windows) |
Alt+D | открыть редактируемый файл в кодировке OEM (DOS) |
Alt+K | открыть редактируемый файл в кодировке КОИ8-Р |
Alt+L | открыть редактируемый файл в кодировке UTF-16LE |
Alt+B | открыть редактируемый файл в кодировке UTF-16BE |
Alt+U | открыть редактируемый файл в кодировке UTF-8 |
Shift+Alt+W | сохранить редактируемый файл в кодировке ANSI (Windows) |
Shift+Alt+D | сохранить редактируемый файл в кодировке OEM (DOS) |
Shift+Alt+K | сохранить редактируемый файл в кодировке КОИ8-Р |
Shift+Alt+L | сохранить редактируемый файл в кодировке UTF-16LE |
Shift+Alt+B | сохранить редактируемый файл в кодировке UTF-16BE |
Shift+Alt+U | сохранить редактируемый файл в кодировке UTF-8 |
Alt+F5 | переоткрыть файл с определением кодировки |
F12 | показать контекстное меню для быстрого переоткрытия/сохранения в нужной кодировке |
Alt+R | перекодировать текст |
Shift+Backspace | убрать первый символ в начале строк |
Alt+Backspace | убрать Tab'ы и пробелы в конце строк |
Alt+P | плагины |
Ctrl+F5 | выполнить команду |
Ctrl+L | включить/выключить режим "Сохранять отступы слева" |
Ctrl+Enter | Вставить новую строку с сохранением отступов слева, если отключено "Сохранять отступы слева".
Вставить новую строку без сохранения отступов слева, если включено "Сохранять отступы слева". |
F4 Alt+Enter |
развернуть/восстановить окно |
F8 Ctrl+Y |
удалить текущую строку |
Alt+\ | перевести каретку на другой конец выделения |
Ctrl+Num + | увеличить шрифт на 1 pt |
Ctrl+Num - | уменьшить шрифт на 1 pt |
Ctrl+Num * | восстановить размер шрифта |
Ctrl+5 | менять регистр по кругу |
Ctrl+6 | выделенный текст, как "ВСЕ ПРОПИСНЫЕ" |
Ctrl+7 | выделенный текст, как "все строчные" |
Ctrl+8 | выделенный текст, как "Как в предложениях." |
Ctrl+9 | выделенный текст, как "Начинать С Прописных" |
Ctrl+0 | выделенный текст, как "иНВЕРТИРОВАТЬ" |
F6 | перейти к следующему диалогу |
Shift+F6 | перейти к предыдущему диалогу |
F9 | перейти к следующей части разделенного окна |
Shift+F9 | перейти к предыдущей части разделенного окна |
F10 | диалог выбора окна (MDI/PMDI) |
Ctrl+Tab Ctrl+F6 |
следующее окно (MDI/PMDI) |
Ctrl+Shift+Tab Ctrl+Shift+F6 |
предыдущее окно (MDI/PMDI) |
Ctrl+F4 Ctrl+W |
закрыть окно (MDI/PMDI) |
4101 | Создать новое окно редактирования |
4102 | Создать новую копию программы |
4103 | Диалог открытия файлов
Необязательный параметр: 1 - форсировать использование последней директории. |
4104 | Переоткрыть файл |
4105 | Сохранить файл |
4106 | Диалог сохранения файлов
Необязательный параметр: 1 - форсировать использование последней директории. |
4107 | Диалог настроек печати |
4108 | Диалог печати |
4109 | Выход из программы |
4110 | Сохранить все документы |
4111 | Диалог сохранения всех документов |
4113 | Печать без диалога |
4114 | Диалог предпросмотра печати |
4121 | Определить кодировку текущего документа заново |
4122 | Переоткрыть файл как ANSI |
4123 | Переоткрыть файл как OEM |
4124 | Переоткрыть файл как KOI-R |
4125 | Переоткрыть файл как UTF16LE |
4126 | Переоткрыть файл как UTF16BE |
4127 | Переоткрыть файл как UTF8 |
4131 | Сохранить файл как ANSI |
4132 | Сохранить файл как OEM |
4133 | Сохранить файл как KOI-R |
4134 | Сохранить файл как UTF16LE |
4135 | Сохранить файл как UTF16BE |
4136 | Сохранить файл как UTF8 |
4137 | Сохранить файл как UTF8 без BOM |
4140 | Показать контекстное меню кодировок |
4151 | Отменить последнюю операцию (Undo) |
4152 | Повторить последнюю операцию (Redo) |
4153 | Вырезать |
4154 | Скопировать |
4155 | Вставить |
4156 | Удалить |
4157 | Выделить все |
4158 | Диалог поиска |
4159 | Найти далее вниз |
4160 | Найти далее вверх |
4161 | Диалог замены |
4162 | Диалог перехода к строке |
4163 | Запуск charmap.exe |
4164 | Вставить табуляцию |
4165 | Вставить табуляцию, только если выделено несколько строк |
4166 | Удалить табуляцию, если выделено несколько строк, в противном случае вставить табуляцию.
Необязательный параметр: 1 - удалять табуляцию при однострочном выделении. |
4167 | Удалить табуляцию, только если выделено несколько строк |
4168 | Вставить пробел |
4169 | Вставить пробел, только если выделено несколько строк |
4170 | Удалить пробел, если выделено несколько строк, в противном случае вставить пробел.
Необязательный параметр: 1 - удалять пробел при однострочном выделении. |
4171 | Удалить пробел, только если выделено несколько строк |
4172 | Удалить первый символ |
4173 | Удалить первый символ, только если есть выделение |
4174 | Удалить табы и пробелы в конце |
4175 | Преобразовать в "ВСЕ ПРОПИСНЫЕ".
Необязательный параметр: 1 - изменить регистр для всего текста, если нет выделения. |
4176 | Преобразовать в "все строчные".
Необязательный параметр: 1 - изменить регистр для всего текста, если нет выделения. |
4177 | Преобразовать в "Как в предложениях.".
Необязательный параметр: 1 - изменить регистр для всего текста, если нет выделения. |
4178 | Преобразовать в "Начинать С Прописных".
Необязательный параметр: 1 - изменить регистр для всего текста, если нет выделения. |
4179 | Преобразовать в "иНВЕРТИРОВАТЬ".
Необязательный параметр: 1 - изменить регистр для всего текста, если нет выделения. |
4180 | Преобразовать по кругу.
Необязательный параметр: 1 - изменить регистр для всего текста, если нет выделения. |
4182 | Диалог перекодирования |
4183 | Вставить дату |
4184 | Формат новой строки Windows |
4185 | Формат новой строки Unix |
4186 | Формат новой строки Mac |
4190 | Режим вставки/замены |
4191 | Вставить текст как ANSI |
4192 | Вставить из буфера обмена в вертикальное выделение |
4193 | Вставить текст из буфера обмена после каретки |
4194 | Вставить текст из буфера обмена с учетом регистра выделения |
4195 | Удалить все табы и пробелы в выделении |
4196 | Вставить новую строку с сохранением отступов слева, если отключено "Сохранять отступы слева".
Вставить новую строку без сохранения отступов слева, если включено "Сохранять отступы слева". |
4197 | Удалить текущую строку.
Необязательный параметр: 1 - удалить всю перенесённую строку. |
4198 | Перевести каретку на другой конец выделения |
4199 | Перевести каретку на предыдущую позицию |
4200 | Перевести каретку на следующую позицию |
4201 | Диалог выбора шрифта |
4202 | Диалог выбора цветовой темы |
4204 | Увеличить шрифт на 1pt |
4205 | Уменьшить шрифт на 1pt |
4206 | Восстановить размер шрифта |
4209 | Перенос по словам (вкл\выкл) |
4210 | Поверх всех окон (вкл\выкл) |
4211 | Показать строку состояния (вкл\выкл) |
4212 | Разделить окно на четыре части |
4213 | Разделить окно на две вертикальные части |
4214 | Разделить окно на две горизонтальные части |
4215 | Разделить окно (вкл\выкл) |
4216 | Только чтение (вкл\выкл) |
4251 | Выполнить |
4252 | Сохранять время файла (вкл\выкл) |
4253 | Следить за изменением файла (вкл\выкл) |
4254 | Сохранять отступы слева (вкл\выкл) |
4255 | Не открывать файл дважды (вкл\выкл) |
4256 | Не открывать программу дважды (вкл\выкл) |
4259 | Диалог плагинов |
4260 | Диалог настроек |
4261 | Однооконный (SDI) режим |
4262 | Многооконный (MDI) режим |
4263 | Псевдо-многооконный (PMDI) режим |
4301 | Вкладки сверху |
4302 | Вкладки снизу |
4303 | Скрыть вкладки |
4304 | Стандартные вкладки |
4305 | Вкладки как кнопки |
4306 | Вкладки как плоские кнопки |
4307 | Выстроить горизонтально MDI окна |
4308 | Выстроить вертикально MDI окна |
4309 | Выстроить каскадом MDI окна |
4310 | Переключение вкладок: следующая-предыдущая. |
4311 | Переключение вкладок: правая-левая. |
4316 | Активировать следующую вкладку |
4317 | Активировать предыдущую вкладку |
4318 | Закрыть текущую вкладку |
4319 | Закрыть все вкладки |
4320 | Закрыть все вкладки, кроме активной |
4321 | Закрыть все неизмененные вкладки |
4322 | Клонировать вкладку |
4323 | Копировать путь файла текущей вкладки
Необязательный параметр: 0 - копировать полный путь (по умолчанию); 1 - копировать директорию; 2 - копировать имя файла; 3 - копировать имя файла без расширения; 4 - копировать расширение файла. |
4324 | Закрыть файл |
4325 | Закрыть файл и выйти из программы (SDI) или закрыть вкладку файла (MDI/PMDI). |
4327 | Диалог выбора окна (MDI/PMDI). Тоже что и 10019. |
4331 | Восстановить/Развернуть главное окно программы |
4332 | Перейти к следующему диалогу |
4333 | Перейти к предыдущему диалогу |
4341 | Перейти к следующей части разделенного окна |
4342 | Перейти к предыдущей части разделенного окна |
4351 | Диалог о программе |
4352 | Открыть руководство пользователя |
4353 | Проверить обновления (AkelUpdater) |
5001 | В списке последних файлов удалить несуществующие |
5001 + n | Из списка последних файлов, открыть файл n |
6001 | Выбрать внутренний язык |
6001 + n | Из списка языков, выбрать язык n |
7001 | Из списка кодировок, открыть в первой кодировке |
7001 + n | Из списка кодировок, открыть в кодировке n |
8001 | Из списка кодировок, сохранить в первой кодировке |
8001 + n | Из списка кодировок, сохранить в кодировке n |
10019 | Диалог выбора окна (MDI/PMDI). Тоже что и 4327. |
Пример шаблона | Соответствие |
---|---|
^\s*?$ | Соответствует пустой строке. |
\d{2}-\d{5} | Соответствует номеру, состоящему из 2 цифр, дефиса и 5 дополнительных цифр. |
<(\w+)[^>]*>.*?</\1> | Соответствует HTML тэгу. |
Символ | Описание | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
\ | Отмечает следующий символ как обычный символ (один из "()[]{}^$.?+*\|"), специальный символ или обратную ссылку. Например, 'n' соответствует символу "n". '\n' соответствует символу новой строки. Последовательность '\\' соответствует "\" и '\(' соответствует "(". | ||||||||||||||||
^ | Соответствует позиции начала строки. | ||||||||||||||||
$ | Соответствует позиции конца строки. | ||||||||||||||||
* | Найти далее предыдущий символ или выражения ноль или более раз. Например, 'zo*' соответствует "z" и "zoo". '*' эквивалентно '{0,}'. | ||||||||||||||||
+ | Найти далее предыдущий символ или выражения один или более раз. Например, 'zo+' соответствует "zo" и "zoo", но не "z". '+' эквивалентно '{1,}'. | ||||||||||||||||
? | Найти далее предыдущий символ или выражения ноль или один раз. Например, 'do(es)?' соответствует "do" в "document" или "does" в "does". '?' эквивалентно '{0,1}'. | ||||||||||||||||
{n} | Найти далее предыдущий символ или выражения ровно n раз. Например, 'о{2}' не соответствует "o" в "Bob", но соответствует "oo" в "food". | ||||||||||||||||
{n,} | Найти далее предыдущий символ или выражения не меньше n раз. Например, 'o{2,}' не соответствует "o" в "Bob", но соответствует "ooooo" в "foooood". 'o{1,}' эквивалентно 'o+'. 'o{0,}' эквивалентно 'o*'. | ||||||||||||||||
{n,m} | Найти далее предыдущий символ или выражения не меньше n раз, но не больше m раз. Например, 'o{1,3}' соответствует первым "ooo" в "fooooood". 'o{0,1}' эквивалентно 'o?'. Пробелы между запятой и числами не используются. | ||||||||||||||||
. | Соответствует любому одиночному символу. | ||||||||||||||||
(шаблон) | Находит соответствие шаблону и сохраняет его. К сохраненному соответствию можно обратиться через обратные ссылки \0...\9. Чтобы не группировать выражение, а найти скобки "(" или ")", используйте '\(' или '\)'. | ||||||||||||||||
(?^шаблон) | Находит отрицательное соответствие шаблону и сохраняет его. Шаблон должен быть фиксированной длины, но может содержать обратные ссылки. | ||||||||||||||||
(?:шаблон) | Находит соответствие шаблону, но не сохраняет соответствие. Это удобно использовать для объединения частей шаблона со знаком "или" (|). Например, 'industr(?:y|ies)' более экономичное выражение, чем 'industry|industries'. | ||||||||||||||||
(?=шаблон) | Положительный поиск вперед (positive lookahead). Соответствие не сохраняется для последующего использования. Например, 'Windows (?=95|98|NT|2000)' соответствует "Windows" в "Windows 2000", но не соответствует "Windows" в "Windows 3.1". | ||||||||||||||||
(?!шаблон) | Отрицательный поиск вперед (negative lookahead). Соответствие не сохраняется для последующего использования. Например, 'Windows (?!95|98|NT|2000)' соответствует "Windows" в "Windows 3.1", но не соответствует "Windows" в "Windows 2000". | ||||||||||||||||
(?<=шаблон) | Положительный просмотр назад (positive lookbehind). Соответствие не сохраняется для последующего использования. Например, '(?<=abc)z' соответствует "z" только, если ему предшествует "abc". Шаблон должен быть фиксированной длины. | ||||||||||||||||
(?<!шаблон) | Отрицательный просмотр назад (negative lookbehind). Соответствие не сохраняется для последующего использования. Например, '(?<!abc)z' соответствует "z" только, если ему не предшествует "abc". Шаблон должен быть фиксированной длины. | ||||||||||||||||
(?>шаблон) | Атомарная группа. Возвращение назад по строке в данном шаблоне запрещено, если часть шаблона уже найдена. Соответствие не сохраняется для последующего использования. Например, 'a(?>bc|b)c' соответствует "abcc", но не "abc". | ||||||||||||||||
(?(условие)шаблон-истина|шаблон-ложь)
(?(условие)шаблон-истина) |
В случае успешного сопоставления условия, используется шаблон-истина, в противном случае шаблон-ложь (если он присутствует). Условие может быть шаблоном с положительным/отрицательным просмотром вперед/назад или номером обратной ссылки, которая будет проверяться на успешность совпадения. Например, '(a)?b(?(1)c|d)' соответствует "abc" в "abc" и "bd" в "zbd". Т.к., если "a" найдено, то ищется "c" после "b", если "a" не найдено, то ищется "d" после "b". | ||||||||||||||||
(?опции) |
Опции применяются для только текущей группы, если заданы в начале специального шаблона, например, 'a(?i:b)c' применяется для "b" или также для последующих, если заданы отдельно, например, 'a(?i)bc' применяется для "bc".
Возможно использовать несколько опций сразу, например, 'a(?im-Us)bc'.
|
||||||||||||||||
x|y | Соответствует x или y. Например, 'z|food' соответствует "z" или "food". '(z|f)ood' соответствует "zood" или "food". | ||||||||||||||||
[xyz] | Набор знаков. Совпадает с любым из указанных символов. Например, '[abc]' соответствует "a" в "plain". | ||||||||||||||||
[^xyz] | Отрицательный набор знаков. Соответствует любому не указанному символу. Например, '[^abc]' соответствует "p" в "plain". | ||||||||||||||||
[a-z] | Диапазон знаков. Соответствует любому знаку в указанном диапазоне. Например, '[a-z]' соответствует любому буквенному символу в нижнем регистре из диапазона от "a" до "z". | ||||||||||||||||
[^a-z] | Отрицательный диапазон символов. Соответствует всем символам, которые отсутствуют в указанном диапазоне. Например, '[^a-z]' соответствует всем символам, которые отсутствуют в диапазоне от "a" до "z". | ||||||||||||||||
\b | Соответствует границе слова, т.е. позиции между словом и разделителем. Например, 'er\b' соответствует "er" in "never", но не соответствует "er" в "verb". | ||||||||||||||||
\B | Соответствует позиции, отличной от границы слова. 'er\B' соответствует "e" в "verb", но не соответствует "er" в "never". | ||||||||||||||||
\A | Соответствует позиции начала документа. Например, '\Aabc' соответствует "abc" в "abc\ndef", но не соответствует "abc" в "def\nabc". | ||||||||||||||||
\Z | Соответствует позиции конца документа. Например, 'abc\Z' соответствует "abc" в "def\nabc", но не соответствует "abc" в "abc\ndef". | ||||||||||||||||
\a | Тоже, что и \A, но соответствует позиции начала диапазона поиска. | ||||||||||||||||
\z | Тоже, что и \Z, но соответствует позиции конца диапазона поиска. | ||||||||||||||||
\K | Все предыдущие найденные символы не включаются в конечный результат. Например, 'a+b+\K\c+' соответствует "ccc" в "aaabbbccc". | ||||||||||||||||
\d | Соответствует знаку цифры. Эквивалентно '[0-9]'. | ||||||||||||||||
\D | Соответствует любому знаку, не являющемуся цифрой. Эквивалентно '[^0-9]'. | ||||||||||||||||
\f | Символ перевода страницы. Эквивалентно '\x0c'. | ||||||||||||||||
\n | Любая новая строка. Для поиска Unix новой строки используйте '\x0a'. | ||||||||||||||||
\r | Любая новая строка. Для поиска Mac новой строки используйте '\x0d'. | ||||||||||||||||
\s | Любой знак пробела: пробел, табуляция, перевод страницы и т.д. Эквивалентно '[ \f\n\r\t\v]'. | ||||||||||||||||
\S | Любой символ, не являющийся пробелом. Эквивалентно '[^ \f\n\r\t\v]'. | ||||||||||||||||
\t | Символ табуляции. Эквивалентно '\x09'. | ||||||||||||||||
\v | Символ вертикальной табуляции. Эквивалентно '\x0b'. | ||||||||||||||||
\w | Соответствует любому символу, составляющему слово (любому символу, который не является разделителем). | ||||||||||||||||
\W | Соответствует любому символу, не составляющему слово (любому символу, который является разделителем). | ||||||||||||||||
\xn | Соответствует n, где n — шестнадцатеричный код символа, который имеет длину ровно две цифры. Например, '\x41' соответствует "A". | ||||||||||||||||
\un | Соответствует n, где n код символа Юникода, выраженный в виде четырех шестнадцатеричных цифр. Например, '\u00A9' соответствует символу авторского права "©". | ||||||||||||||||
\x{n} | Соответствует n, где n — шестнадцатеричный код символа. Например, '\x{20027}' эквивалентно суррогатной паре '\uD840\uDC27'. | ||||||||||||||||
\n | Соответствует n, где n - это номер обратной ссылки, состоящий из одной цифры. Например, '(.)\1' соответствует двум последовательным одинаковым символам. | ||||||||||||||||
\nn | Соответствует nn, где nn - это номер обратной ссылки, состоящий из двух цифр от 01 до 99. Например, '(.)\01' соответствует двум последовательным одинаковым символам. |