поиск и замена
- Author
- Message
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
VladSh
Во-первых, не прибедняйтесь
Во-вторых, если есть файл с инструкцией (а он есть), то держать всё в памяти и не требуется. Я и половины метасимволов не знаю, притом что вся-то инструкция -- это два экрана текста. (И не забудем, что в инструкцию иногда изменения вносятся).
В-третьих, даже все подзабыв, разобраться самому почти всегда оказывается быстрее, нежели запостить вопрос и дождаться на него ответа (сложные случаи потому и сложные, что они -- большая редкость). Ответ, кстати, не факт что дадут!
Ну и наконец, "разобраться без посторонней помощи" не только полезно, но ещё и просто приятно.
Так не будем же отказывать себе в столь безобидном удовольствии
Во-первых, не прибедняйтесь
Во-вторых, если есть файл с инструкцией (а он есть), то держать всё в памяти и не требуется. Я и половины метасимволов не знаю, притом что вся-то инструкция -- это два экрана текста. (И не забудем, что в инструкцию иногда изменения вносятся).
В-третьих, даже все подзабыв, разобраться самому почти всегда оказывается быстрее, нежели запостить вопрос и дождаться на него ответа (сложные случаи потому и сложные, что они -- большая редкость). Ответ, кстати, не факт что дадут!
Ну и наконец, "разобраться без посторонней помощи" не только полезно, но ещё и просто приятно.
Так не будем же отказывать себе в столь безобидном удовольствии
-
Offline
- Posts: 6
- Joined: Thu Aug 31, 2017 9:13 am
- Contact:
готов подписаться под данной сентенцией на 90%, однако 10% оставляю на свою отсталость от компьютерной(программистской) грамотности ...VladSh wrote:Alex45orp
С этим надо постоянно работать, иначе через месяц всё выветривается из памяти. У меня точно также, - начинаешь разбираться, решишь какую-нибудь совсем простенькую задачку, а следующая может быть появится через пол года, если не больше, потому с каждым разом знания опять на нуле. Хорошо тем, у кого с этим работа связана, потому что личного времени всем этим постоянно заниматься не осталось никакого...
а мой случай, на Ваш взгляд, достаточно сложен(это для понимания процесса кодирования) - или это "к слову пришлось"?opk44 wrote:VladSh
(сложные случаи потому и сложные, что они -- большая редкость)
а вот здесь даю 100%, и очень хочу "разобраться без посторонней помощи" - но ... (с кем бы посоветоваться ...)?opk44 wrote:VladSh
Ну и наконец, "разобраться без посторонней помощи" не только полезно, но ещё и просто приятно.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Alex45orp,
Раз никто пока не предложил воспользоваться online сервисами по регулярным выражениям, то я это предложу
Вот этот выглядит достаточно неплохо, показывая текстовые описания вводимого регулярного выражения:
https://regex101.com/
Уверен, есть и русскоязычные сайты с подобным функционалом.
* Примечание: поскольку существует несколько "движков" регулярных выражений, возможны ситуации, когда синтаксис регулярного выражения в AkelPad будет не на 100% совпадать со стандартом PCRE или другим. Однако на первых порах, при изучении базового синтаксиса регулярных выражений, вы вряд ли столкнётесь с подобными расхождениями.
Раз никто пока не предложил воспользоваться online сервисами по регулярным выражениям, то я это предложу
Вот этот выглядит достаточно неплохо, показывая текстовые описания вводимого регулярного выражения:
https://regex101.com/
Уверен, есть и русскоязычные сайты с подобным функционалом.
* Примечание: поскольку существует несколько "движков" регулярных выражений, возможны ситуации, когда синтаксис регулярного выражения в AkelPad будет не на 100% совпадать со стандартом PCRE или другим. Однако на первых порах, при изучении базового синтаксиса регулярных выражений, вы вряд ли столкнётесь с подобными расхождениями.
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Dimsok
Code: Select all
Что: (слово)(\t)(слово 2)
Чем: \3\2\1
Code: Select all
Что: (слово)( ?- ?)(слово 2)
Чем: \3\2\1
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Что:Dimsok wrote:Как с помощью регулярных выражений можно заменить:
[ti:слово 1]
на:
Title: слово 1
?
Code: Select all
(\[ti:)(\S*\s\d)\]
Code: Select all
Title: \2
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
Dimsok
Code: Select all
Что: \[ti:([^\]]*+)\]
Чем: Title: \1
-
Offline
- Posts: 512
- Joined: Sun Sep 15, 2013 8:25 am
- Location: 013 в Тентуре, семь по Спирали, налево от Большой Медведицы
opk44 wrote:YuS
Непонятное мне место - соседство символов "*+". Можно пояснить этот момент?
- Квантификаторы регулярных выражений (*, +, {n,}) являются по умолчанию жадными. Чтобы сделать их нежадными, используется "?" после квантификатора, например, "\d*?". Чтобы сделать их сверхжадными, используется "+" после квантификатора, например, "\d*+".
- Использование сверхжадных квантификаторов увеличивает скорость выполнения выражения.
Тут будет захвачено максимальное число символов, в таком, например, тексте:Code: Select all
(\[ti:)(\S*\s\d)\]
Code: Select all
[ti:слово1][ti:слово2][ti:слово 3]
-
Offline
- Posts: 874
- Joined: Sat Jan 16, 2010 2:03 pm
Смотри, например, третий пост на этой же странице.Dimsok wrote:А есть какая-нибудь программа, которая помогала бы в составлении выражений?
Если же условия совсем "спартанские", то скачиваете коллекцию скриптов для AkelPad от KDJ.
В первую очередь будут интересовать "FindReplaceEx.js" и "RegExpTestJS.js".
Что-то мне подсказывает, что главная проблема при составлении регэкспа - это понять и сформулировать, "а что собственно нужно-то?", а вовсе не отсутствие вспомогательных программ.Dimsok wrote:Например, ввёл что нужно найти и получил хотя бы примерный результат.
А для чего? Вот бы узнать!Dimsok wrote:Пробовал когда-то regex buddy и ещё что-то похожее, но они похоже не для того.
-
Offline
- Posts: 1250
- Joined: Thu Nov 16, 2006 11:53 am
- Location: Kyiv, Ukraine
Ой, я лусну!opk44 wrote:А для чего? Вот бы узнать!Dimsok wrote:Пробовал когда-то regex buddy и ещё что-то похожее, но они похоже не для того.
Действительно, описание программы
как бы намекает ))Learn, Create, Understand, Test, Use and Save Regular Expressions with RegexBuddy
(перевод: Изучаем, Создаём, Понимаем, Тестируем, Используем и Сохраняем Регулярные Выражения с RegexBuddy)