|
Регулярное выражение для поиска описания функций в тексте модуля 1С.
| ☑ |
0
SeiOkami
02.11.13
✎
21:12
|
Народ, подскажите, плиз, по регулярным выражениям.
Никогда ими не занимался, а тут решил понадобилось.
В общем имеем шаблон:
^(\s)*Функция(.|\n)*?КонецФункции(\s\/{2,}.+)*
Он вытягивает функции из текста модуля. Работает. Проблема в том, что я хочу выцепить сразу и комментарий к этой функции. сделал такой шаблон:
((^\/\/(.+)*\n)+)*^(\s)*Функция(.|\n)*?КонецФункции(\s\/{2,}.+)*
Он, в принципе, работает, однако стоит прервать группу строк комментариев перед функцией так регулярка перестает находить функции вообще. Почему так?
|
|
1
Лефмихалыч
02.11.13
✎
21:25
|
мне кажется, регулярные выражения в этой задаче создадут больше проблем, чем пользы принесут
|
|
2
SeiOkami
02.11.13
✎
21:27
|
(1), почему так?
|
|
3
Лефмихалыч
02.11.13
✎
21:29
|
(2) потому, что, будь я не прав, этой темы бы не было
|
|
4
SeiOkami
02.11.13
✎
21:32
|
(3), эта тема могла возникнуть по многим причинам. Я склоняюсь больше к тому, что я как бы мой опыт в регулярных выражениях примерно пол часа, поэтому данный шаблон может быть не верным. И твоя правота (или не правота) никак на это не влияет ;)
|
|
5
Ferz
03.11.13
✎
01:16
|
Этот модуль открыт вроде
|
|
6
orefkov
03.11.13
✎
01:34
|
В накопленной поделке, некритичной к косякам юзать регэкспы для выделения текста методов ещё приемлемо. В серьёзных проектах - забудьте. Могу сходу сейчас накидать пяток примеров, где твои регэкспы сработают неправильно.
|
|
7
orefkov
03.11.13
✎
01:35
|
+(6)
*в наколенной*
|
|
8
Torquader
03.11.13
✎
01:47
|
А что, у нас весь комментарий, который идёт перед функцией автоматически считается относящимся к функции ?
Потом, насколько я помню, 1С не требует перевода строки в окончании описания функции, да и переносы параметров разрешены.
|
|