Lev

|
Posted: Thu Aug 03, 2006 17:09 Post subject: |
|
|
Quote: | Дык скажи как правильно =) |
cм. 7-ю страницу данного обсуждения: Quote: | образец вышибающего тотал регэкспа (для VB, VBS и т.п.):
Код:
^(private|public|declare)?\s*(?:function|sub)\s*([A-Za-z]+[A-Za-z0-9_.]*\([^)]*\)) |
Quote: | я говорю про первую твою скобку и знак вопроса за ней:
^(private|public|declare)?\s*... | Ты написал, что "?" это "может быть, а может и не быть", т.к. я считал это очевидным, то мне показалось, что ты писал про не всем знакомые группирующие скобки.
Итого функция, подпрограмма в бейсике начинается с начала строки, иначе будут ловиться закомментированные функции, при условии что предыдущая строка не заканчивается на " _" (это я в регекп не воткнул), перед имнем функции могут быть, а могут и не быть слова private|public|declare, причём некоторые ценители могут не захотеть, чтобы функции взятые из dll и начинающиеся со слова declare считались функциями, как было в приводившемся выше примере выкушенном из Mystix. Имена функций и выражений, по крайней мере в vba, могут включать русские буквы и, возможно, Юникодовские, что в данном регекспе я не отразил. ну и так далее. Могу воткнуть еще пробельный мусор между началом строки и объявлением области видимости функции ^\s*(.... многие vb ide этот и другой мусор убирают, но для vbs пойдёт |
|