поиск и замена
- Author
- Message
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
SFC
Освежите в памяти "\AkelFiles\Docs\AkelHelp-Rus.htm" (раздел "Синтаксис регулярных выражений")
1. для использования обратных ссылок оборачивайте группы (каждую) круглыми скобками (шаблон).
2. При использовании стандартного диалога замены обратные ссылки обозначаются как обратный слеш+номер: \n (не следует путать со скриптом "SearchReplace.js")
Итого:
Если через стандартный диалог "Replace" (CTRL+R), то можно так:
Что: ([а-я])([А-Я])
Чем: \1.\2
[*] Match Case
[*] Regular expressions
Если через скрипт "SearchReplace.js", то можно так:
Что: ([а-я])([А-Я])
Чем: $1.$2
[*] Regular expressions
[*] Case Sensitive
Освежите в памяти "\AkelFiles\Docs\AkelHelp-Rus.htm" (раздел "Синтаксис регулярных выражений")
1. для использования обратных ссылок оборачивайте группы (каждую) круглыми скобками (шаблон).
2. При использовании стандартного диалога замены обратные ссылки обозначаются как обратный слеш+номер: \n (не следует путать со скриптом "SearchReplace.js")
Итого:
Если через стандартный диалог "Replace" (CTRL+R), то можно так:
Что: ([а-я])([А-Я])
Чем: \1.\2
[*] Match Case
[*] Regular expressions
Если через скрипт "SearchReplace.js", то можно так:
Что: ([а-я])([А-Я])
Чем: $1.$2
[*] Regular expressions
[*] Case Sensitive
-
Offline
- Posts: 2
- Joined: Sat Jan 07, 2017 5:14 pm
Товарищи, есть такая проблема.
Я собираюсь опубликовать свою книгу на одном сайте.
У меня все названия глав написаны в верхнем реестре и никакими тегами не выделены.
Для публикации нужно их перевести в нижний реестр и выделить специальным тегом.
То есть фрагменты вида
Найти и заменить на
Как это закодировать?
Вручную я реестр меняю с помощью CTRL+8, но названий глав много...
Я собираюсь опубликовать свою книгу на одном сайте.
У меня все названия глав написаны в верхнем реестре и никакими тегами не выделены.
Для публикации нужно их перевести в нижний реестр и выделить специальным тегом.
То есть фрагменты вида
Code: Select all
БЕРЕГ
Текст главы.
МОРЕ
Текст главы.
Code: Select all
<g>Берег</g>
Текст главы.
<g>Море</g>
Текст главы.
Вручную я реестр меняю с помощью CTRL+8, но названий глав много...
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
SearchReplace.jsvamfir wrote: Как это закодировать?
[+] Регулярные выражения
[+] Многострочно
[+] Зменять на функцию
Code: Select all
Что: ^( *[А-ЯЁ])([А-ЯЁ ]+)$
Чем: return "<g>"+$1+$2.toLowerCase()+"</g>"
-
Offline
- Posts: 6
- Joined: Thu Aug 31, 2017 9:13 am
- Contact:
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Alex45orp
Через стандартный диалог замены [CTRL+R]
Что:
Чем:
Опции:
[*] Регулярные выражения
Направление:
(*) С начала
Кнопка: "Заменить всё"
Примечания:
1. Перед [NONE] в строке замены "Чем:" поставьте пробел.
2. Решение подразумевает, что после последнего видимого символа в строках пробелов нет. Если есть концевые пробелы, то лечится предварительным нажатием [ALT+BACKSPACE] до вызова диалога замены.
Через стандартный диалог замены [CTRL+R]
Что:
Code: Select all
\s\S*\n
Code: Select all
[NONE]\n
[*] Регулярные выражения
Направление:
(*) С начала
Кнопка: "Заменить всё"
Примечания:
1. Перед [NONE] в строке замены "Чем:" поставьте пробел.
2. Решение подразумевает, что после последнего видимого символа в строках пробелов нет. Если есть концевые пробелы, то лечится предварительным нажатием [ALT+BACKSPACE] до вызова диалога замены.
-
Offline
- Posts: 6
- Joined: Thu Aug 31, 2017 9:13 am
- Contact:
-
Offline
- Posts: 6
- Joined: Thu Aug 31, 2017 9:13 am
- Contact:
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Alex45orp
Через стандартный диалог замены [CTRL+R]
Что:
Чем:
Опции:
[*] Регулярные выражения
Направление:
(*) С начала
Кнопка: "Заменить всё"
P.S.
В предыдущем случае искалось "все символы после последнего пробела".
В данном случае ищется "все символы, идущие после '.stk' ".
Обратная ссылка '\1' засовывает '.stk' обратно. Получается немного короче чемОпция (?-s) использована для "подстраховки" (см. "слепую опцию" обработки символа точки в диалоге замены в виде маленького черного треугольника справа от опции "Регулярные выражения")
Через стандартный диалог замены [CTRL+R]
Что:
Code: Select all
(?-s)(\.stk)(.*\n)
Code: Select all
\1 [NONE] [NONE]\n
[*] Регулярные выражения
Направление:
(*) С начала
Кнопка: "Заменить всё"
P.S.
В предыдущем случае искалось "все символы после последнего пробела".
В данном случае ищется "все символы, идущие после '.stk' ".
Обратная ссылка '\1' засовывает '.stk' обратно. Получается немного короче чем
Code: Select all
\.stk [NONE] [NONE]\n
-
Offline
- Posts: 6
- Joined: Thu Aug 31, 2017 9:13 am
- Contact:
opk44
спасибо огромное, насколько упростилась работа можно судить по количеству строк в документе(721) - а таких документов может быть несколько в одном проекте, еще раз спасибо opk44.
P.S. Судя по количеству вопросов в данной теме, освоить раздел "Синтаксис регулярных выражений" далеко не всем по плечу ...
спасибо огромное, насколько упростилась работа можно судить по количеству строк в документе(721) - а таких документов может быть несколько в одном проекте, еще раз спасибо opk44.
P.S. Судя по количеству вопросов в данной теме, освоить раздел "Синтаксис регулярных выражений" далеко не всем по плечу ...
-
Offline
- Posts: 3217
- Joined: Wed Nov 29, 2006 1:19 pm
- Location: Киев, Русь
- Contact:
Alex45orp
С этим надо постоянно работать, иначе через месяц всё выветривается из памяти. У меня точно также, - начинаешь разбираться, решишь какую-нибудь совсем простенькую задачку, а следующая может быть появится через пол года, если не больше, потому с каждым разом знания опять на нуле. Хорошо тем, у кого с этим работа связана, потому что личного времени всем этим постоянно заниматься не осталось никакого...
С этим надо постоянно работать, иначе через месяц всё выветривается из памяти. У меня точно также, - начинаешь разбираться, решишь какую-нибудь совсем простенькую задачку, а следующая может быть появится через пол года, если не больше, потому с каждым разом знания опять на нуле. Хорошо тем, у кого с этим работа связана, потому что личного времени всем этим постоянно заниматься не осталось никакого...