Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Дизайн постов - Страница 3 - Мир MS Excel

Старая форма входа
Дизайн постов
nerv Дата: Четверг, 29.12.2011, 19:50 | Сообщение № 41
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Если кому-нибудь интересно, пока остановился на этом оформлении. Далее следует тестовый текст для настройки и отладки. Просьба не удалять и не форматировать.

[vba]
Code
Sub io()
Dim i As Integer
If i = 0 Then
  For i = 1 To 10
   Msgbox "тут текст " & i
  Next
End If
End Sub
[/vba]


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Четверг, 29.12.2011, 21:29
 
Ответить
СообщениеЕсли кому-нибудь интересно, пока остановился на этом оформлении. Далее следует тестовый текст для настройки и отладки. Просьба не удалять и не форматировать.

[vba]
Code
Sub io()
Dim i As Integer
If i = 0 Then
  For i = 1 To 10
   Msgbox "тут текст " & i
  Next
End If
End Sub
[/vba]

Автор - nerv
Дата добавления - 29.12.2011 в 19:50
Alex_ST Дата: Пятница, 30.12.2011, 08:41 | Сообщение № 42
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Александр,
оформление очень хорошее получилось. Намного читабельнее обычного одноцветного моноширинного шрифта.
Вот только стринги в кавычках как-то совсем бледно выглядят, трудно читаются. Но это, наверное, подправить будет потом не трудно, а главное сейчас - внедрить сервис на форуме.
Вопрос: а как оттуда код скопировать без номеров строк?



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеАлександр,
оформление очень хорошее получилось. Намного читабельнее обычного одноцветного моноширинного шрифта.
Вот только стринги в кавычках как-то совсем бледно выглядят, трудно читаются. Но это, наверное, подправить будет потом не трудно, а главное сейчас - внедрить сервис на форуме.
Вопрос: а как оттуда код скопировать без номеров строк?

Автор - Alex_ST
Дата добавления - 30.12.2011 в 08:41
RAN Дата: Пятница, 30.12.2011, 09:54 | Сообщение № 43
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
FastStoneCapture не пробовал, а халявной FSViewer.exe версия 3.5 пользуюсь давно. Русификатор можно найти в нете. Удобная штука для создания фототаблиц, групповой обработки и прочая... До кучи и захват экрана (экран, активное окно, прямоугольник.....)


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеFastStoneCapture не пробовал, а халявной FSViewer.exe версия 3.5 пользуюсь давно. Русификатор можно найти в нете. Удобная штука для создания фототаблиц, групповой обработки и прочая... До кучи и захват экрана (экран, активное окно, прямоугольник.....)

Автор - RAN
Дата добавления - 30.12.2011 в 09:54
nerv Дата: Пятница, 30.12.2011, 12:37 | Сообщение № 44
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Quote (Alex_ST)
Вот только стринги в кавычках как-то совсем бледно выглядят, трудно читаются.

Кто еще так считает? Мое мнение - это помогает отличить строки от остального текста программы
Quote (Alex_ST)
Вопрос: а как оттуда код скопировать без номеров строк?

"Можно ли будет копировать в буфер?" Сомневаюсь. Как, вариант, предлагаю по двойному клику включать и отключать нумерацию, чтобы можно было без нее копировать.

Почти все стили взяты из Notepad++, кроме цифр, кот. там выделяются красным. Лично меня это слишком отвлекает.
ПОВТОРЮСЬ: скрипт пишу с нуля, стили тоже, необходима Ваша помощь по RegExp.
Нужно распознавать ключевые слова и текстовые строки, дабы к ним можно было применять форматирование.
Кто хочет помочь сделать этот форум чуточку лучше, в частности форматирование VBA кода, подключайтесь smile


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Пятница, 30.12.2011, 14:43
 
Ответить
Сообщение
Quote (Alex_ST)
Вот только стринги в кавычках как-то совсем бледно выглядят, трудно читаются.

Кто еще так считает? Мое мнение - это помогает отличить строки от остального текста программы
Quote (Alex_ST)
Вопрос: а как оттуда код скопировать без номеров строк?

"Можно ли будет копировать в буфер?" Сомневаюсь. Как, вариант, предлагаю по двойному клику включать и отключать нумерацию, чтобы можно было без нее копировать.

Почти все стили взяты из Notepad++, кроме цифр, кот. там выделяются красным. Лично меня это слишком отвлекает.
ПОВТОРЮСЬ: скрипт пишу с нуля, стили тоже, необходима Ваша помощь по RegExp.
Нужно распознавать ключевые слова и текстовые строки, дабы к ним можно было применять форматирование.
Кто хочет помочь сделать этот форум чуточку лучше, в частности форматирование VBA кода, подключайтесь smile

Автор - nerv
Дата добавления - 30.12.2011 в 12:37
Alex_ST Дата: Пятница, 30.12.2011, 12:52 | Сообщение № 45
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (nerv)
Кто еще так считает?
Ну, на вкус и цвет все фломастеры разные biggrin , но я уже давно пользуюсь такой нестандартной цветовой "дифференциацией штанов" в VBE:
А по поводу
Quote (nerv)
необходима … помощь по RegExp
, так это надо попробовать, например, v__step (Володю) привлечь. Он большой спец в этом деле.
К сообщению приложен файл: 3061021.gif (7.1 Kb)



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 30.12.2011, 12:59
 
Ответить
Сообщение
Quote (nerv)
Кто еще так считает?
Ну, на вкус и цвет все фломастеры разные biggrin , но я уже давно пользуюсь такой нестандартной цветовой "дифференциацией штанов" в VBE:
А по поводу
Quote (nerv)
необходима … помощь по RegExp
, так это надо попробовать, например, v__step (Володю) привлечь. Он большой спец в этом деле.

Автор - Alex_ST
Дата добавления - 30.12.2011 в 12:52
Serge_007 Дата: Пятница, 30.12.2011, 13:06 | Сообщение № 46
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (nerv)
Мое мнение - это помогает отличить строки от остального текста программы

Солидарен

Quote (nerv)
"Можно ли будет копировать в буфер?" Сомневаюсь

А это важно. nerv, посмотри как это реализовано по этой ссылке. В правом верхнем углу каждого окна кода кнопки просмотра кода в виде неформатированного текста, копирование в буфер без выделения и отправка на печать. Может Syntax highlighter подойдёт?


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (nerv)
Мое мнение - это помогает отличить строки от остального текста программы

Солидарен

Quote (nerv)
"Можно ли будет копировать в буфер?" Сомневаюсь

А это важно. nerv, посмотри как это реализовано по этой ссылке. В правом верхнем углу каждого окна кода кнопки просмотра кода в виде неформатированного текста, копирование в буфер без выделения и отправка на печать. Может Syntax highlighter подойдёт?

Автор - Serge_007
Дата добавления - 30.12.2011 в 13:06
nerv Дата: Пятница, 30.12.2011, 14:39 | Сообщение № 47
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Quote (Alex_ST)
так это надо попробовать, например, v__step (Володю) привлечь. Он большой спец в этом деле.

Поэтому изначально я постил в теме про RegExp smile Думаю, в течении дня уже будут предварительные результаты. Пока занят на работе happy

[vba]
Code
Sub io()
Msgbox "test1"
End Sub
[/vba]

Code
Sub io()
Msgbox "test2"
End Sub


[vba]
Code
Sub io()
Msgbox "test3"
End Sub
[/vba]


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Пятница, 30.12.2011, 17:29
 
Ответить
Сообщение
Quote (Alex_ST)
так это надо попробовать, например, v__step (Володю) привлечь. Он большой спец в этом деле.

Поэтому изначально я постил в теме про RegExp smile Думаю, в течении дня уже будут предварительные результаты. Пока занят на работе happy

[vba]
Code
Sub io()
Msgbox "test1"
End Sub
[/vba]

Code
Sub io()
Msgbox "test2"
End Sub


[vba]
Code
Sub io()
Msgbox "test3"
End Sub
[/vba]

Автор - nerv
Дата добавления - 30.12.2011 в 14:39
nerv Дата: Пятница, 30.12.2011, 22:52 | Сообщение № 48
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

пока так. Остальное позже smile


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba
 
Ответить
Сообщениепока так. Остальное позже smile

Автор - nerv
Дата добавления - 30.12.2011 в 22:52
Alex_ST Дата: Пятница, 30.12.2011, 22:56 | Сообщение № 49
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
nerv,
я Володю в личке сюда пригласил помочь с RegExp. Наверное, скоро появится.
А что в твоём последнем посте с "цветовой дифференциацией штанов" biggrin ?



С уважением,
Алексей
MS Excel 2003 - the best!!!


Сообщение отредактировал Alex_ST - Пятница, 30.12.2011, 23:43
 
Ответить
Сообщениеnerv,
я Володю в личке сюда пригласил помочь с RegExp. Наверное, скоро появится.
А что в твоём последнем посте с "цветовой дифференциацией штанов" biggrin ?

Автор - Alex_ST
Дата добавления - 30.12.2011 в 22:56
nerv Дата: Пятница, 30.12.2011, 23:10 | Сообщение № 50
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Quote (Alex_ST)
я Володю в личке сюда пригласил помочь с RegExp. Наверное, скоро появится.

Это хорошо. А то я уже реги замучился писать. Пока только 3 слепил, одна из них ниже. Остальные не позволяет вставить форум

var z = /\[vba\][\s\S]+?\[\/vba\]/gim; // Шаблон RegExp

Попытаюсь объяснить, что к чему:
концовка - gim - это Global, Ignore Case, Multiline
синтаксис примерно такой - /рега/

Quote (Alex_ST)
А что в тваоём последнем посте с "цветовой дифференциацией штанов"

Признаться, не понял happy

Код для отладки
[vba]
Code
'=========================================================
' Author: nerv            | E-mail: nerv-net@yandex.ru
' Last Update: 22/11/2011 | Яндекс.Деньги: 41001156540584
'=========================================================
Private Sub LiteSort(ByRef x(), ByVal f%)
Dim v, u&, d&: d = f
If IsArray(x) Then
         For u = f + 1 To UBound(x)
             If x(u) < x(d) Then
                 v = x(d): x(d) = x(u): x(u) = v
                 u = d - 1: d = u - 1: If u < f Then d = u: u = f
             End If
             d = d + 1
         Next
End If
End Sub

Sub Example()
Dim x()
x = Array(5, 2, 1, 4, 0)
LiteSort x, 0 ' Array, First Item
End Sub
[/vba]


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Пятница, 30.12.2011, 23:25
 
Ответить
Сообщение
Quote (Alex_ST)
я Володю в личке сюда пригласил помочь с RegExp. Наверное, скоро появится.

Это хорошо. А то я уже реги замучился писать. Пока только 3 слепил, одна из них ниже. Остальные не позволяет вставить форум

var z = /\[vba\][\s\S]+?\[\/vba\]/gim; // Шаблон RegExp

Попытаюсь объяснить, что к чему:
концовка - gim - это Global, Ignore Case, Multiline
синтаксис примерно такой - /рега/

Quote (Alex_ST)
А что в тваоём последнем посте с "цветовой дифференциацией штанов"

Признаться, не понял happy

Код для отладки
[vba]
Code
'=========================================================
' Author: nerv            | E-mail: nerv-net@yandex.ru
' Last Update: 22/11/2011 | Яндекс.Деньги: 41001156540584
'=========================================================
Private Sub LiteSort(ByRef x(), ByVal f%)
Dim v, u&, d&: d = f
If IsArray(x) Then
         For u = f + 1 To UBound(x)
             If x(u) < x(d) Then
                 v = x(d): x(d) = x(u): x(u) = v
                 u = d - 1: d = u - 1: If u < f Then d = u: u = f
             End If
             d = d + 1
         Next
End If
End Sub

Sub Example()
Dim x()
x = Array(5, 2, 1, 4, 0)
LiteSort x, 0 ' Array, First Item
End Sub
[/vba]

Автор - nerv
Дата добавления - 30.12.2011 в 23:10
Alex_ST Дата: Пятница, 30.12.2011, 23:46 | Сообщение № 51
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (nerv)
Признаться, не понял

А что, это у меня что ли глюк - весь текст чёрный? Ни ключевые слова, ни комментарии цветом шрифта не выделены...



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (nerv)
Признаться, не понял

А что, это у меня что ли глюк - весь текст чёрный? Ни ключевые слова, ни комментарии цветом шрифта не выделены...

Автор - Alex_ST
Дата добавления - 30.12.2011 в 23:46
nerv Дата: Пятница, 30.12.2011, 23:51 | Сообщение № 52
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Quote (Alex_ST)
А что, это у меня что ли глюк - весь текст чёрный? Ни ключевые слова, ни комментарии цветом шрифта не выделены...

На данный момент сделал только серую полосу слева (там, где номера строк). Если она не видна, обнови страницу/почисти куки)

Какая стоит задача перед регами: искать операторы (будет список) и заменять найденное.
Забыл добавить: текст разбит построчно, т.е. так, как он выглядит на форуме.


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Пятница, 30.12.2011, 23:55
 
Ответить
Сообщение
Quote (Alex_ST)
А что, это у меня что ли глюк - весь текст чёрный? Ни ключевые слова, ни комментарии цветом шрифта не выделены...

На данный момент сделал только серую полосу слева (там, где номера строк). Если она не видна, обнови страницу/почисти куки)

Какая стоит задача перед регами: искать операторы (будет список) и заменять найденное.
Забыл добавить: текст разбит построчно, т.е. так, как он выглядит на форуме.

Автор - nerv
Дата добавления - 30.12.2011 в 23:51
Alex_ST Дата: Пятница, 30.12.2011, 23:54 | Сообщение № 53
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Quote (nerv)
На данный момент тлько сделал серую полосу слева
так бы сразу и сказал... smile
Полоска-то серая есть. А что цветов текста пока нет я и не знал.



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
Сообщение
Quote (nerv)
На данный момент тлько сделал серую полосу слева
так бы сразу и сказал... smile
Полоска-то серая есть. А что цветов текста пока нет я и не знал.

Автор - Alex_ST
Дата добавления - 30.12.2011 в 23:54
nerv Дата: Суббота, 31.12.2011, 10:50 | Сообщение № 54
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

[vba]
Code
'=========================================================
' Author: nerv            | E-mail: nerv-net\@yandex.ru
' Last Update: 18/10/2011 | Яндекс.Деньги: 41001156540584
'=========================================================
' Быстрый ввода даты
'
' 1511 или "1511" или "15.11" = 15/11/Текущий_год
' 151011 или "151011" или "15.10.11" или 15102011 или "15102011" или "15.10.2011" = 15/10/2011

Public Function QuickEntryDate(ByVal x As String) As Date
On Error Resume Next
If IsNumeric(x) Then
        Select Case Len(x)
            Case 3, 4:
                x = Format(x, "0000")
                x = Left(x, 2) & "/" & Right(x, 2) & "/" & Year(Now)
            Case 5, 6, 7, 8
                x = Format(x, String(IIf(Len(x) <= 6, 6, 8), "0"))
                x = Left(x, 2) & "/" & Mid(x, 3, 2) & "/" & Mid(x, 5)
        End Select
End If
QuickEntryDate = CDate(x)
End Function

Sub Example()
With ActiveCell
        If .Value2 <> "" Then
            If Not IsDate(.Value) Then
                .Value = QuickEntryDate(.Value2)
            End If
        End If
End With
End Sub
[/vba]

тест
[vba]
Code
Mid$(2, 1, 1)
[/vba]


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Суббота, 31.12.2011, 18:50
 
Ответить
Сообщение[vba]
Code
'=========================================================
' Author: nerv            | E-mail: nerv-net\@yandex.ru
' Last Update: 18/10/2011 | Яндекс.Деньги: 41001156540584
'=========================================================
' Быстрый ввода даты
'
' 1511 или "1511" или "15.11" = 15/11/Текущий_год
' 151011 или "151011" или "15.10.11" или 15102011 или "15102011" или "15.10.2011" = 15/10/2011

Public Function QuickEntryDate(ByVal x As String) As Date
On Error Resume Next
If IsNumeric(x) Then
        Select Case Len(x)
            Case 3, 4:
                x = Format(x, "0000")
                x = Left(x, 2) & "/" & Right(x, 2) & "/" & Year(Now)
            Case 5, 6, 7, 8
                x = Format(x, String(IIf(Len(x) <= 6, 6, 8), "0"))
                x = Left(x, 2) & "/" & Mid(x, 3, 2) & "/" & Mid(x, 5)
        End Select
End If
QuickEntryDate = CDate(x)
End Function

Sub Example()
With ActiveCell
        If .Value2 <> "" Then
            If Not IsDate(.Value) Then
                .Value = QuickEntryDate(.Value2)
            End If
        End If
End With
End Sub
[/vba]

тест
[vba]
Code
Mid$(2, 1, 1)
[/vba]

Автор - nerv
Дата добавления - 31.12.2011 в 10:50
nerv Дата: Суббота, 31.12.2011, 16:09 | Сообщение № 55
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

[vba]
Code
Sub io()
If 1 > 0 Then
          For i = 1 To 10
              If i < 0 Then
                  Select Case x
                      Case 1:
                      Case 2:
                  End Select
              End If
          Next
End If
End Sub
[/vba]

[vba][/vba] Пустышка #1

[vba][code][/code][/vba] Пустышка #2


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Воскресенье, 01.01.2012, 15:00
 
Ответить
Сообщение[vba]
Code
Sub io()
If 1 > 0 Then
          For i = 1 To 10
              If i < 0 Then
                  Select Case x
                      Case 1:
                      Case 2:
                  End Select
              End If
          Next
End If
End Sub
[/vba]

[vba][/vba] Пустышка #1

[vba][code][/code][/vba] Пустышка #2

Автор - nerv
Дата добавления - 31.12.2011 в 16:09
v__step Дата: Суббота, 31.12.2011, 18:22 | Сообщение № 56
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Ребята, с Новым годом!
Вы затеяли очень хорошее дело, я бы и рад помочь, но, боюсь, что со своей неразворотливостью принесу больше вреда, чем пользы...
Пока что ничего не понял, по гиперссылкам никуда попасть не смог, только вижу, что результат очень красивый

Вы мне хоть скажите:
- что надо найти/заменить
- какой диалект RegExp (наверное, не VBScript...)


С уважением, Владимир

Сообщение отредактировал v__step - Суббота, 31.12.2011, 18:24
 
Ответить
СообщениеРебята, с Новым годом!
Вы затеяли очень хорошее дело, я бы и рад помочь, но, боюсь, что со своей неразворотливостью принесу больше вреда, чем пользы...
Пока что ничего не понял, по гиперссылкам никуда попасть не смог, только вижу, что результат очень красивый

Вы мне хоть скажите:
- что надо найти/заменить
- какой диалект RegExp (наверное, не VBScript...)

Автор - v__step
Дата добавления - 31.12.2011 в 18:22
nerv Дата: Суббота, 31.12.2011, 18:36 | Сообщение № 57
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

v__step, и Вас с Наступающим! smile Есть код vba, в нем нужно найти (а в последствии и заменить):

1. ключевые слова (выделено синим)
2. текстовые строки
3. комментарии

чтобы можно было применить форматирование. Конкретно по той реге, кот. я использую. Она выглядит так (до другого пока не додумался)

global = true
ignorecase = true

"[\s\S]*?"|[A-Za-z]+\$?|'[\s\S]*$

Чтобы применить форматирование к коду, надо сделать примерно так (только убрать обратный слеш \):
[vba][code]тут код[\/code][\/vba]

И еще, если обнаружите ключевые слова, кот. надо выделять синим (или, наоборот, не надо выделять), а они не выделены, скажите, я добавлю в список.


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Суббота, 31.12.2011, 18:49
 
Ответить
Сообщениеv__step, и Вас с Наступающим! smile Есть код vba, в нем нужно найти (а в последствии и заменить):

1. ключевые слова (выделено синим)
2. текстовые строки
3. комментарии

чтобы можно было применить форматирование. Конкретно по той реге, кот. я использую. Она выглядит так (до другого пока не додумался)

global = true
ignorecase = true

"[\s\S]*?"|[A-Za-z]+\$?|'[\s\S]*$

Чтобы применить форматирование к коду, надо сделать примерно так (только убрать обратный слеш \):
[vba][code]тут код[\/code][\/vba]

И еще, если обнаружите ключевые слова, кот. надо выделять синим (или, наоборот, не надо выделять), а они не выделены, скажите, я добавлю в список.

Автор - nerv
Дата добавления - 31.12.2011 в 18:36
v__step Дата: Суббота, 31.12.2011, 20:49 | Сообщение № 58
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 225
Репутация: 27 ±
Замечаний: 0% ±

Уважаемый nerv, пожалуйста, помучайтесь со мной немножко, я ведь никогда не работал со скриптами…
Ваша рега разбита на 3 части:
"[\s\S]*?" – это текстовые строки - верно?
[A-Za-z]+\$? – с этим не разобрался
'[\s\S]*$ - это комментарии и знак конца строки - да?
Свести несколько частей строки кода в один шаблон – так задумано?
В любом случае, первое, что бросилось в глаза – [\s\S]. Это ведь обозначает любой символ. Нельзя ли воспользоваться обычной точкой?
Если "|" используется как знак "или", то разделяемые им сложные фрагменты шаблона лучше взять в круглые скобки (...)|(...)..., иначе в каких-то случаях программа может запутаться (это все мелочёвка, по-крупному я еще ничего не понял)

И ещё раз, все-таки, Вы работаете с Java, php... - c каким скриптом? (они немного различаются)


С уважением, Владимир

Сообщение отредактировал v__step - Суббота, 31.12.2011, 21:52
 
Ответить
СообщениеУважаемый nerv, пожалуйста, помучайтесь со мной немножко, я ведь никогда не работал со скриптами…
Ваша рега разбита на 3 части:
"[\s\S]*?" – это текстовые строки - верно?
[A-Za-z]+\$? – с этим не разобрался
'[\s\S]*$ - это комментарии и знак конца строки - да?
Свести несколько частей строки кода в один шаблон – так задумано?
В любом случае, первое, что бросилось в глаза – [\s\S]. Это ведь обозначает любой символ. Нельзя ли воспользоваться обычной точкой?
Если "|" используется как знак "или", то разделяемые им сложные фрагменты шаблона лучше взять в круглые скобки (...)|(...)..., иначе в каких-то случаях программа может запутаться (это все мелочёвка, по-крупному я еще ничего не понял)

И ещё раз, все-таки, Вы работаете с Java, php... - c каким скриптом? (они немного различаются)

Автор - v__step
Дата добавления - 31.12.2011 в 20:49
Alex_ST Дата: Суббота, 31.12.2011, 21:55 | Сообщение № 59
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3213
Репутация: 609 ±
Замечаний: 0% ±

2003
Володя, привет!
Я думаю, что пока Александр не ответил на вопрос о том, в каком синтаксисе RegExp'ов надо писАть, обсуждать что-либо трудно...

Но вообще-то, пора за стол старый год провожать biggrin
Если в ночь на Новый год, странный гость к тебе придёт
С длинной белой бородой, в красной шапке меховой,
С длинным посохом в руке и с подарками в мешке,
С громким смехом, добрым взглядом …
Значит больше пить не надо!

С Наступающим!



С уважением,
Алексей
MS Excel 2003 - the best!!!
 
Ответить
СообщениеВолодя, привет!
Я думаю, что пока Александр не ответил на вопрос о том, в каком синтаксисе RegExp'ов надо писАть, обсуждать что-либо трудно...

Но вообще-то, пора за стол старый год провожать biggrin
Если в ночь на Новый год, странный гость к тебе придёт
С длинной белой бородой, в красной шапке меховой,
С длинным посохом в руке и с подарками в мешке,
С громким смехом, добрым взглядом …
Значит больше пить не надо!

С Наступающим!

Автор - Alex_ST
Дата добавления - 31.12.2011 в 21:55
nerv Дата: Суббота, 31.12.2011, 22:24 | Сообщение № 60
Группа: Редакторы
Ранг: Обитатель
Сообщений: 431
Репутация: 193 ±
Замечаний: 0% ±

Quote (Alex_ST)
в каком синтаксисе RegExp'ов надо писАть

Что значит в каком? О_о Язык скрипта - JavaScript, но для реги мне кажется, это не столь существенно.

Попытаюсь обо всем по порядку.
v__step, Вы поняли абсолютно верно. Почему [\s\S] вместо . (точки)? Дело в том, что в скрипте используется еще две реги, для того, чтобы получить код. Они работают в многострочном режиме. Это копипаст оттуда smile Согласен, можно использовать точку)

вся рега: ".*?"|[A-Za-z]+\$?|'.*$
global = true

по кускам
".*?" --- строки (не жадно)
[A-Za-z]+\$? --- ключевые слова(операторы и т.п.), с необязательным $ (чтобы схватить такое, как Mid$)
'.*$ --- комментарий

Почему все в одной строке? Мне такое расположение показалось наиболее логичным. Это не аксиома) Если есть другие предложения, с удовольствием их выслушаю smile
Алгоритм поиска: строки [если не найдено] --> ключевые слова [если не найдено] --> комментарии [если не найдено] --> null

Что находит эта рега в порядке слева на право в строке ниже.

x = Left(x, 2) & "/" & Mid$(x, 3, 2) & "/" & Mid(x, 5) ' Быстрый ввод даты

x --> Left --> x --> "/" --> Mid$ --> x --> "/" --> Mid --> x --> ' Быстрый ввод даты --> null

Находить то вроде находит, а КАК ЗАМЕНИТЬ, при этом отбросив ненужно?) smile Все, кажется, понял! Я дятел


Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук


YM 41001156540584 / WM WMR R21924176233

https://github.com/nervgh/vba


Сообщение отредактировал nerv - Суббота, 31.12.2011, 22:33
 
Ответить
Сообщение
Quote (Alex_ST)
в каком синтаксисе RegExp'ов надо писАть

Что значит в каком? О_о Язык скрипта - JavaScript, но для реги мне кажется, это не столь существенно.

Попытаюсь обо всем по порядку.
v__step, Вы поняли абсолютно верно. Почему [\s\S] вместо . (точки)? Дело в том, что в скрипте используется еще две реги, для того, чтобы получить код. Они работают в многострочном режиме. Это копипаст оттуда smile Согласен, можно использовать точку)

вся рега: ".*?"|[A-Za-z]+\$?|'.*$
global = true

по кускам
".*?" --- строки (не жадно)
[A-Za-z]+\$? --- ключевые слова(операторы и т.п.), с необязательным $ (чтобы схватить такое, как Mid$)
'.*$ --- комментарий

Почему все в одной строке? Мне такое расположение показалось наиболее логичным. Это не аксиома) Если есть другие предложения, с удовольствием их выслушаю smile
Алгоритм поиска: строки [если не найдено] --> ключевые слова [если не найдено] --> комментарии [если не найдено] --> null

Что находит эта рега в порядке слева на право в строке ниже.

x = Left(x, 2) & "/" & Mid$(x, 3, 2) & "/" & Mid(x, 5) ' Быстрый ввод даты

x --> Left --> x --> "/" --> Mid$ --> x --> "/" --> Mid --> x --> ' Быстрый ввод даты --> null

Находить то вроде находит, а КАК ЗАМЕНИТЬ, при этом отбросив ненужно?) smile Все, кажется, понял! Я дятел

Автор - nerv
Дата добавления - 31.12.2011 в 22:24
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!