Войти
NeoBooker.ru
Добро пожаловать к нам в гости!
Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Модератор форума: Peter, DEMBEL, YURIY  
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Регулярные выражения
Регулярные выражения
СергейДата: Пт, 08 Марта 2013, 16:28 | Сообщение # 31
Необукер
Цитата (mishem)
Ты попробуй эту регулярку доделать что бы в однострочных тоже нормально искало
в смысле "в одно строчных"? Как это на примере выглядит строка?
 
Сообщение
Цитата (mishem)
Ты попробуй эту регулярку доделать что бы в однострочных тоже нормально искало
в смысле "в одно строчных"? Как это на примере выглядит строка?

Автор - Сергей
Дата добавления - 08 Марта 2013 в 16:28
mishemДата: Пт, 08 Марта 2013, 16:32 | Сообщение # 32
Эксперт форума
Цитата (Сергей)
Как это на примере выглядит строка?

Прикрепления: 9322456.png (52.1 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
Как это на примере выглядит строка?


Автор - mishem
Дата добавления - 08 Марта 2013 в 16:32
СергейДата: Пт, 08 Марта 2013, 16:37 | Сообщение # 33
Необукер
да не то, исходная строка какая? чем разделяются пути, слова, не слитно же все
 
Сообщениеда не то, исходная строка какая? чем разделяются пути, слова, не слитно же все

Автор - Сергей
Дата добавления - 08 Марта 2013 в 16:37
mishemДата: Пт, 08 Марта 2013, 16:38 | Сообщение # 34
Эксперт форума
Хотя...
Здесь скорей всего моя ошибка.
Такое может произойти только по дурости.
Я ж просто удалил все [#13][#10] не чем их не заменив. По этому получается просто продолжение расширения или слова.

Думаю что можно на этом остановится. :)

Даже не скорей всего, а точно моя ошибка. Сейчас заменил на пробел, все работает прекрасно.
Все. Можно чистить тему. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеХотя...
Здесь скорей всего моя ошибка.
Такое может произойти только по дурости.
Я ж просто удалил все [#13][#10] не чем их не заменив. По этому получается просто продолжение расширения или слова.

Думаю что можно на этом остановится. :)

Даже не скорей всего, а точно моя ошибка. Сейчас заменил на пробел, все работает прекрасно.
Все. Можно чистить тему. :)

Автор - mishem
Дата добавления - 08 Марта 2013 в 16:38
СергейДата: Пт, 08 Марта 2013, 16:38 | Сообщение # 35
Необукер
ты обрезал перевод строки чтоли?!
 
Сообщениеты обрезал перевод строки чтоли?!

Автор - Сергей
Дата добавления - 08 Марта 2013 в 16:38
mishemДата: Пт, 08 Марта 2013, 16:39 | Сообщение # 36
Эксперт форума
Да. :D

Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеДа. :D

Автор - mishem
Дата добавления - 08 Марта 2013 в 16:39
СергейДата: Пт, 08 Марта 2013, 16:41 | Сообщение # 37
Необукер
Цитата (mishem)
Я ж просто удалил все [#13][#10]
ясно.
а то я подумал, вот он еще один разрыв мозга :D

Добавлено (08 Марта 2013, 16:41)
---------------------------------------------
вот еще пример, посмотри на работу
Цитата
([c-zC-Z]:\\)[^\r"=]+(\..{3})?

в фиг.скобках указано колл. букфф в расширении
если 3 не надо, то заменить {2,4}={старт,конец}


Сообщение отредактировано
Сергей - Пт, 08 Марта 2013, 16:43
 
Сообщение
Цитата (mishem)
Я ж просто удалил все [#13][#10]
ясно.
а то я подумал, вот он еще один разрыв мозга :D

Добавлено (08 Марта 2013, 16:41)
---------------------------------------------
вот еще пример, посмотри на работу
Цитата
([c-zC-Z]:\\)[^\r"=]+(\..{3})?

в фиг.скобках указано колл. букфф в расширении
если 3 не надо, то заменить {2,4}={старт,конец}

Автор - Сергей
Дата добавления - 08 Марта 2013 в 16:41
mishemДата: Пт, 08 Марта 2013, 16:44 | Сообщение # 38
Эксперт форума
Сергей, запиши вот это в последнем сообщении:

Регулярное выражение которое ищет все пути к файлам и папкам.

([c-zC-Z]:\\)[^\r"=]+

Что б от тебя исходило, а не от меня. а то кто нибудь подумает что это я написал. :D
А Петр почистит тогда до этого сообщения.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеСергей, запиши вот это в последнем сообщении:

Регулярное выражение которое ищет все пути к файлам и папкам.

([c-zC-Z]:\\)[^\r"=]+

Что б от тебя исходило, а не от меня. а то кто нибудь подумает что это я написал. :D
А Петр почистит тогда до этого сообщения.

Автор - mishem
Дата добавления - 08 Марта 2013 в 16:44
СергейДата: Пт, 08 Марта 2013, 16:47 | Сообщение # 39
Необукер
блин, эта регулярка работает только в файлах *.pub.
проверил на файле отчета от 1С (там тоже много путей) - нифига.
Находит только, если строка заканчивается путем. Если на конце пробел, то пропускает.
а какой номер последнего сообщения?
может во втором.
--------------------------
Да напиши в первом своем, типа вопрос:решение или регулярка:описание
--------------------------
Удали свой пост, про пути и складывай туда регулярки в спойлерах


Сообщение отредактировано
Сергей - Пт, 08 Марта 2013, 16:53
 
Сообщениеблин, эта регулярка работает только в файлах *.pub.
проверил на файле отчета от 1С (там тоже много путей) - нифига.
Находит только, если строка заканчивается путем. Если на конце пробел, то пропускает.
а какой номер последнего сообщения?
может во втором.
--------------------------
Да напиши в первом своем, типа вопрос:решение или регулярка:описание
--------------------------
Удали свой пост, про пути и складывай туда регулярки в спойлерах

Автор - Сергей
Дата добавления - 08 Марта 2013 в 16:47
mishemДата: Пт, 08 Марта 2013, 16:58 | Сообщение # 40
Эксперт форума
Ставлю 2, все равно находит и с 3 буквами в расширении. Пробовал 2.2, то же самое.
Да ладно, мне пока за глаза и этого. :)

Цитата (Сергей)
может во втором.

Запиши во второе. А то не известно какое последнее будет. :D
Цитата (Сергей)
блин, эта регулярка работает только в файлах *.pub.

Ну тогда напиши что в этих файлах.
Получается что универсальных регулярок нету. :(

Добавлено (08 Марта 2013, 16:58)
---------------------------------------------

Цитата (Сергей)
Да напиши в первом своем

Написал. Можно чистить до первого поста.
Сергей, благодарю.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеСтавлю 2, все равно находит и с 3 буквами в расширении. Пробовал 2.2, то же самое.
Да ладно, мне пока за глаза и этого. :)

Цитата (Сергей)
может во втором.

Запиши во второе. А то не известно какое последнее будет. :D
Цитата (Сергей)
блин, эта регулярка работает только в файлах *.pub.

Ну тогда напиши что в этих файлах.
Получается что универсальных регулярок нету. :(

Добавлено (08 Марта 2013, 16:58)
---------------------------------------------

Цитата (Сергей)
Да напиши в первом своем

Написал. Можно чистить до первого поста.
Сергей, благодарю.

Автор - mishem
Дата добавления - 08 Марта 2013 в 16:58
СергейДата: Пт, 08 Марта 2013, 17:09 | Сообщение # 41
Необукер
Цитата (mishem)
Получается что универсальных регулярок нету.

работает :)
Тот путь, который не нашла был локальный \\setka\db\uspttk
Так что все работает

Добавлено (08 Марта 2013, 17:09)
---------------------------------------------
mishem, написал во 2 посте дополнение, если считаешь полезным дополни у себя

 
Сообщение
Цитата (mishem)
Получается что универсальных регулярок нету.

работает :)
Тот путь, который не нашла был локальный \\setka\db\uspttk
Так что все работает

Добавлено (08 Марта 2013, 17:09)
---------------------------------------------
mishem, написал во 2 посте дополнение, если считаешь полезным дополни у себя


Автор - Сергей
Дата добавления - 08 Марта 2013 в 17:09
mishemДата: Вт, 28 Мая 2013, 14:38 | Сообщение # 42
Эксперт форума
Такой вопрос, возможно регуляркой заменить слова по списку?

Что бы не парсить и через цикл не запускать а к примеру что бы замена происходила по порядку

параметр1|параметр2|параметр3 заменить на новый параметр1|новый параметр2|новый параметр3


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеТакой вопрос, возможно регуляркой заменить слова по списку?

Что бы не парсить и через цикл не запускать а к примеру что бы замена происходила по порядку

параметр1|параметр2|параметр3 заменить на новый параметр1|новый параметр2|новый параметр3

Автор - mishem
Дата добавления - 28 Мая 2013 в 14:38
СергейДата: Сб, 01 Июня 2013, 09:03 | Сообщение # 43
Необукер
да, можно...
Грубо говоря это будет выглядеть так:
Код
SetVar "[surs]" "wadding|house|blue|car"
hpwReplaceRegExp ".*?\|.*?\|.*?\|.*?$" "[surs]" "bird|hovel|red|air" "1" "[result]"
..[result]=bird|hovel|red|air
..заменяет всю строку.
или
hpwReplaceRegExp "(.*?)\|(.*?)\|(.*?)\|(.*?)$" "[surs]" "$1|$2|red|$4" "1" "[result]"
..[result]=wadding|house|red|car
..заменяет одно слово.
Тут надо знать какая строка, для построения шаблона.
Если просто заменить всю строчку, то достаточно и такой регулярки (^.*?$)
Если с определенным словом(допустим ключевое будет house), то (^.*?house.*?$)
Заметь строка (wadding|hous|blue|car) будет игнорироваться.
Как то так )

Добавлено (01 Июня 2013, 09:03)
---------------------------------------------
А можно заменить строку, если она известна, без шаблона:

Код
hpwReplaceRegExp "параметр1|параметр2|параметр3" "параметр1|параметр2|параметр3" "новый параметр1|новый параметр2|новый параметр3" "0" "[result]"
. вот такой ужас

Т.е. как она есть :D


Сообщение отредактировано
Сергей - Сб, 01 Июня 2013, 08:54
 
Сообщениеда, можно...
Грубо говоря это будет выглядеть так:
Код
SetVar "[surs]" "wadding|house|blue|car"
hpwReplaceRegExp ".*?\|.*?\|.*?\|.*?$" "[surs]" "bird|hovel|red|air" "1" "[result]"
..[result]=bird|hovel|red|air
..заменяет всю строку.
или
hpwReplaceRegExp "(.*?)\|(.*?)\|(.*?)\|(.*?)$" "[surs]" "$1|$2|red|$4" "1" "[result]"
..[result]=wadding|house|red|car
..заменяет одно слово.
Тут надо знать какая строка, для построения шаблона.
Если просто заменить всю строчку, то достаточно и такой регулярки (^.*?$)
Если с определенным словом(допустим ключевое будет house), то (^.*?house.*?$)
Заметь строка (wadding|hous|blue|car) будет игнорироваться.
Как то так )

Добавлено (01 Июня 2013, 09:03)
---------------------------------------------
А можно заменить строку, если она известна, без шаблона:

Код
hpwReplaceRegExp "параметр1|параметр2|параметр3" "параметр1|параметр2|параметр3" "новый параметр1|новый параметр2|новый параметр3" "0" "[result]"
. вот такой ужас

Т.е. как она есть :D

Автор - Сергей
Дата добавления - 01 Июня 2013 в 09:03
mishemДата: Сб, 01 Июня 2013, 12:59 | Сообщение # 44
Эксперт форума
Я опять наверно не так задал вопрс.
Строка:
Мама мыла раму.
Нужно заменить в строке Мама на Папа, мыла на мыл. Естественно может быть и Мама мыла и Мыла мама. В НБ это выглядело бы так

Код


StrParse "мама,мыла" "," "[что заменить]" ""

StrParse "папа,мыл" "," "[чем заменить]" ""

Loop "1" "2" "[i]"

   StrReplace "Мама мыла раму" "[что заменить[i]]" "[чем заменить[i]]" "[result]" ""

EndLoop


Получается я имею ввиду что бы регулярка сама делала цикл. Ищет первое значение и меняет на первое значение из списка. После ищет второе и меняет на второе.

Добавлено (01 Июня 2013, 12:59)
---------------------------------------------

Цитата (Сергей)
А можно заменить строку, если она известна, без шаблона:

Так по моему заменит только первым параметром.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеЯ опять наверно не так задал вопрс.
Строка:
Мама мыла раму.
Нужно заменить в строке Мама на Папа, мыла на мыл. Естественно может быть и Мама мыла и Мыла мама. В НБ это выглядело бы так

Код


StrParse "мама,мыла" "," "[что заменить]" ""

StrParse "папа,мыл" "," "[чем заменить]" ""

Loop "1" "2" "[i]"

   StrReplace "Мама мыла раму" "[что заменить[i]]" "[чем заменить[i]]" "[result]" ""

EndLoop


Получается я имею ввиду что бы регулярка сама делала цикл. Ищет первое значение и меняет на первое значение из списка. После ищет второе и меняет на второе.

Добавлено (01 Июня 2013, 12:59)
---------------------------------------------

Цитата (Сергей)
А можно заменить строку, если она известна, без шаблона:

Так по моему заменит только первым параметром.

Автор - mishem
Дата добавления - 01 Июня 2013 в 12:59
СергейДата: Сб, 01 Июня 2013, 15:02 | Сообщение # 45
Необукер
Код
hpwReplaceRegExp "(.*?)Мама(.*?)мыла(.*?)" "Мама мыла раму" "$1Папа$2мыл$3" "1" "[result]"

Добавлено (01 Июня 2013, 15:02)
---------------------------------------------

Цитата (Сергей)
Тут надо знать какая строка, для построения шаблона.
 
Сообщение
Код
hpwReplaceRegExp "(.*?)Мама(.*?)мыла(.*?)" "Мама мыла раму" "$1Папа$2мыл$3" "1" "[result]"

Добавлено (01 Июня 2013, 15:02)
---------------------------------------------

Цитата (Сергей)
Тут надо знать какая строка, для построения шаблона.

Автор - Сергей
Дата добавления - 01 Июня 2013 в 15:02
mishemДата: Сб, 01 Июня 2013, 15:04 | Сообщение # 46
Эксперт форума
А поподробней? Что значит знать?
В какой последовательности слова?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеА поподробней? Что значит знать?
В какой последовательности слова?

Автор - mishem
Дата добавления - 01 Июня 2013 в 15:04
СергейДата: Сб, 01 Июня 2013, 15:13 | Сообщение # 47
Необукер
Смотри
Код
SetVar "[str]" "по утру рано мама мыла раму|рано по утру мыла мама раму|рано по утру сестра красила раму"
hpwReplaceRegExp "(.*?)мама(.*?)мыла(.*?)" "[str]" "$1папа$2мыл$3" "1" "[result]"
..[result]=по утру рано папа мыл раму|рано по утру мыла мама раму|рано по утру сестра красила раму
последовательность и ключевые слова, за которые можно зацепится
 
СообщениеСмотри
Код
SetVar "[str]" "по утру рано мама мыла раму|рано по утру мыла мама раму|рано по утру сестра красила раму"
hpwReplaceRegExp "(.*?)мама(.*?)мыла(.*?)" "[str]" "$1папа$2мыл$3" "1" "[result]"
..[result]=по утру рано папа мыл раму|рано по утру мыла мама раму|рано по утру сестра красила раму
последовательность и ключевые слова, за которые можно зацепится

Автор - Сергей
Дата добавления - 01 Июня 2013 в 15:13
mishemДата: Сб, 01 Июня 2013, 15:18 | Сообщение # 48
Эксперт форума
Вроде смысл понял.
(.*?) это любой знак, а $1 что обозначает?


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
СообщениеВроде смысл понял.
(.*?) это любой знак, а $1 что обозначает?

Автор - mishem
Дата добавления - 01 Июня 2013 в 15:18
СергейДата: Сб, 01 Июня 2013, 15:22 | Сообщение # 49
Необукер
ругулярка может найти все совпадения, но с заменить, только на строку замены
мама|папа|сестра = найдет все слова мама,папа,сестра но заменит каждое совпадение на слово, которые ты укажешь
Пример:
строка = мама бабушка дядя брат сестра
ищем = мама|бабушка|сестра
строка замены = папа
результат = папа папа дядя брат папа

Добавлено (01 Июня 2013, 15:19)
---------------------------------------------
$1 что есть в скобках ()

Добавлено (01 Июня 2013, 15:22)
---------------------------------------------
регулярка эта функция больше для поиска
Наверное можно по всяким модификаторам сделать и сложные замещения, но я так глубоко не знаю..
Почитай в общих чертах, пригодится

 
Сообщениеругулярка может найти все совпадения, но с заменить, только на строку замены
мама|папа|сестра = найдет все слова мама,папа,сестра но заменит каждое совпадение на слово, которые ты укажешь
Пример:
строка = мама бабушка дядя брат сестра
ищем = мама|бабушка|сестра
строка замены = папа
результат = папа папа дядя брат папа

Добавлено (01 Июня 2013, 15:19)
---------------------------------------------
$1 что есть в скобках ()

Добавлено (01 Июня 2013, 15:22)
---------------------------------------------
регулярка эта функция больше для поиска
Наверное можно по всяким модификаторам сделать и сложные замещения, но я так глубоко не знаю..
Почитай в общих чертах, пригодится


Автор - Сергей
Дата добавления - 01 Июня 2013 в 15:22
mishemДата: Сб, 01 Июня 2013, 15:25 | Сообщение # 50
Эксперт форума
Цитата (Сергей)
ищем = мама|бабушка|сестра
строка замены = папа

Здесь понятно.
Я имел ввиду
строка = мама бабушка дядя брат сестра
ищем = мама|бабушка|сестра
строка замены = папа|дедушка|брат
Результат = папа дедушка дядя брат брат
Вот так надо как то. Что бы именно маму на папу, бабушку на дедушку ... а не маму бабушку и сестру на папу. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
ищем = мама|бабушка|сестра
строка замены = папа

Здесь понятно.
Я имел ввиду
строка = мама бабушка дядя брат сестра
ищем = мама|бабушка|сестра
строка замены = папа|дедушка|брат
Результат = папа дедушка дядя брат брат
Вот так надо как то. Что бы именно маму на папу, бабушку на дедушку ... а не маму бабушку и сестру на папу. :)

Автор - mishem
Дата добавления - 01 Июня 2013 в 15:25
СергейДата: Сб, 01 Июня 2013, 15:26 | Сообщение # 51
Необукер
Поэтому, чтоб сделать какое нибудь замещение, надо знать все варианты исходной строки и конечной.
Универсального шаблона нет!
 
СообщениеПоэтому, чтоб сделать какое нибудь замещение, надо знать все варианты исходной строки и конечной.
Универсального шаблона нет!

Автор - Сергей
Дата добавления - 01 Июня 2013 в 15:26
mishemДата: Сб, 01 Июня 2013, 15:27 | Сообщение # 52
Эксперт форума
Цитата (Сергей)
Почитай в общих чертах, пригодится

Ух, ты даже не представляешь сколько перечитал. :D
Но всех тонкостей все равно не могу уловить. Тут практика нужна, а не с наскока. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
Почитай в общих чертах, пригодится

Ух, ты даже не представляешь сколько перечитал. :D
Но всех тонкостей все равно не могу уловить. Тут практика нужна, а не с наскока. :)

Автор - mishem
Дата добавления - 01 Июня 2013 в 15:27
СергейДата: Сб, 01 Июня 2013, 15:30 | Сообщение # 53
Необукер
Цитата (mishem)
Вот так надо

если именно такие замещения, то вариант выше подойдет вполне

Добавлено (01 Июня 2013, 15:30)
---------------------------------------------
Код
SetVar "[str]" "мама бабушка тетя сестра"
hpwReplaceRegExp "(.*?)мама(.*?)бабушка(.*?)тетя(.*?)сестра(.*?)" "[str]" "$1папа$2дедушка$3дядя$4брат$5" "1" "[result]"


Сообщение отредактировано
Сергей - Сб, 01 Июня 2013, 15:31
 
Сообщение
Цитата (mishem)
Вот так надо

если именно такие замещения, то вариант выше подойдет вполне

Добавлено (01 Июня 2013, 15:30)
---------------------------------------------
Код
SetVar "[str]" "мама бабушка тетя сестра"
hpwReplaceRegExp "(.*?)мама(.*?)бабушка(.*?)тетя(.*?)сестра(.*?)" "[str]" "$1папа$2дедушка$3дядя$4брат$5" "1" "[result]"

Автор - Сергей
Дата добавления - 01 Июня 2013 в 15:30
mishemДата: Сб, 01 Июня 2013, 15:31 | Сообщение # 54
Эксперт форума
Цитата (Сергей)
Универсального шаблона нет!

Ну мне в данном случае универсальный не нужен.
Благодарю. Будем пробовать.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
Универсального шаблона нет!

Ну мне в данном случае универсальный не нужен.
Благодарю. Будем пробовать.

Автор - mishem
Дата добавления - 01 Июня 2013 в 15:31
СергейДата: Сб, 01 Июня 2013, 15:32 | Сообщение # 55
Необукер
ты конкретней напиши, какая строка есть, и что должно получится
Без этого шаблон не напишешь
 
Сообщениеты конкретней напиши, какая строка есть, и что должно получится
Без этого шаблон не напишешь

Автор - Сергей
Дата добавления - 01 Июня 2013 в 15:32
mishemДата: Сб, 01 Июня 2013, 15:44 | Сообщение # 56
Эксперт форума
Цитата (Сергей)
ты конкретней напиши, какая строка есть, и что должно получится

Мне теперь вспомнить надо что я искал и что нужно было заменить. Три дня прошло. :D
Три проекта одновременно и все по разным тематикам. :) Тот где это нужно было, сейчас приостановил. Плагин от Петра жду. Без него продолжение ни как. :( А сейчас другой возобновил. И все мысли в нем.

А не. Подожди, вспомнил что я хотел. :D
Короче декомпилирую файл справки. В нем кирилица отображается в виде мнемоники Agrave;=А Aacute=Б
и так дале. Список соответствий есть. В цикле НБ при большом размере может занимать много времени. Вот я и подумал попробовать сделать это регуляркой.
Ниже файл с примером отображения символов, в блокноте открой. И список массивов через запятую и букв.
Прикрепления: NeoBook.zip (5.2 Kb) · _HTML-Entities.zip (0.5 Kb)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
ты конкретней напиши, какая строка есть, и что должно получится

Мне теперь вспомнить надо что я искал и что нужно было заменить. Три дня прошло. :D
Три проекта одновременно и все по разным тематикам. :) Тот где это нужно было, сейчас приостановил. Плагин от Петра жду. Без него продолжение ни как. :( А сейчас другой возобновил. И все мысли в нем.

А не. Подожди, вспомнил что я хотел. :D
Короче декомпилирую файл справки. В нем кирилица отображается в виде мнемоники Agrave;=А Aacute=Б
и так дале. Список соответствий есть. В цикле НБ при большом размере может занимать много времени. Вот я и подумал попробовать сделать это регуляркой.
Ниже файл с примером отображения символов, в блокноте открой. И список массивов через запятую и букв.

Автор - mishem
Дата добавления - 01 Июня 2013 в 15:44
СергейДата: Вс, 02 Июня 2013, 12:01 | Сообщение # 57
Необукер
ясно...
все равно без цикла не обойтись
Код

FileToVar "[PubDir]h1.html" "[str]"
StrParse "à,á,â,ã,ä,å,¸,æ,ç,è,é,ê,ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,÷,ø,ù,ú,û,ü,ý,þ,ÿ" "," "[mnemo]" "[count]"
StrParse "а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я" "," "[kirl]" ""
Loop "1" "[count]" "[i]"
StrReplace "[str]" "[mnemo[i]]" "[kirl[i]]" "[str]" ""
EndLoop
FileWrite "[PubDir]h2.html" "All" "[str]"
стандартная функция StrReplace тоже справится
в цикле всего 33 прохода, думаю нб тормозить вообще не должна.
 
Сообщениеясно...
все равно без цикла не обойтись
Код

FileToVar "[PubDir]h1.html" "[str]"
StrParse "à,á,â,ã,ä,å,¸,æ,ç,è,é,ê,ë,ì,í,î,ï,ð,ñ,ò,ó,ô,õ,ö,÷,ø,ù,ú,û,ü,ý,þ,ÿ" "," "[mnemo]" "[count]"
StrParse "а,б,в,г,д,е,ё,ж,з,и,й,к,л,м,н,о,п,р,с,т,у,ф,х,ц,ч,ш,щ,ъ,ы,ь,э,ю,я" "," "[kirl]" ""
Loop "1" "[count]" "[i]"
StrReplace "[str]" "[mnemo[i]]" "[kirl[i]]" "[str]" ""
EndLoop
FileWrite "[PubDir]h2.html" "All" "[str]"
стандартная функция StrReplace тоже справится
в цикле всего 33 прохода, думаю нб тормозить вообще не должна.

Автор - Сергей
Дата добавления - 02 Июня 2013 в 12:01
mishemДата: Вс, 02 Июня 2013, 12:06 | Сообщение # 58
Эксперт форума
Цитата (Сергей)
33 прохода

66. Заглавные отличаются. Плюс еще могут быть всякие разные типа неразрывной строки и т.д.
Цитата (Сергей)
думаю нб тормозить вообще не должна

Вроде не тормозит. Но все равно, а вдруг?
:)
Да и даже просто хочется как то по максимуму оптимизировать код.


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
33 прохода

66. Заглавные отличаются. Плюс еще могут быть всякие разные типа неразрывной строки и т.д.
Цитата (Сергей)
думаю нб тормозить вообще не должна

Вроде не тормозит. Но все равно, а вдруг?
:)
Да и даже просто хочется как то по максимуму оптимизировать код.

Автор - mishem
Дата добавления - 02 Июня 2013 в 12:06
СергейДата: Вс, 02 Июня 2013, 12:10 | Сообщение # 59
Необукер
На пыхе это можно сделать за раз.
Там есть замена с использованием массива, фун-ия: str_replace($array1,$array2,$str);
как раз то, что ты и хотел :)
 
СообщениеНа пыхе это можно сделать за раз.
Там есть замена с использованием массива, фун-ия: str_replace($array1,$array2,$str);
как раз то, что ты и хотел :)

Автор - Сергей
Дата добавления - 02 Июня 2013 в 12:10
mishemДата: Вс, 02 Июня 2013, 12:14 | Сообщение # 60
Эксперт форума
Цитата (Сергей)
На пыхе это можно сделать за раз.

Не, еще в это вникать как то не хочется. :)


Не хочешь читать хелп?

Если хелп и форум не помогли, тогда все ответы здесь



Если вы думаете, что сможете — вы сможете, если думаете, что нет — вы правы.
 
Сообщение
Цитата (Сергей)
На пыхе это можно сделать за раз.

Не, еще в это вникать как то не хочется. :)

Автор - mishem
Дата добавления - 02 Июня 2013 в 12:14
Форум NeoBook » Всё о программе NeoBook » Общие вопросы по NeoBook » Регулярные выражения
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск: