powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите найти ошибку в регулярном выражении
3 сообщений из 3, страница 1 из 1
Помогите найти ошибку в регулярном выражении
    #39867210
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Настраиваю редактор, в редакторе есть возможность автоматической навигации по функциям, описание которых задается регулярным выражением.
Текст в редакторе, например, такой:
Код: php
1.
2.
3.
4.
5.
6.
	function debug($mode=null);                                              // Режим отладки
	function pmode($mode=null);                                              // Режим постоянных соединений (пул соединений)
	final public function __construct()
	{
		...
	}



Задаю такой шаблон:
Код: plaintext
^[ \t]*(final |abstract )?(public |private |protected )?(static )?function[ \t].*\(.*?\)

Но вторая строка в этот шаблон попадает целиком (с комментарием), хотя я вроде бы для выражения внутри скобок указываю ленивый квантификатор.
...
Рейтинг: 0 / 0
Помогите найти ошибку в регулярном выражении
    #39867467
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.Но вторая строка в этот шаблон попадает целиком (с комментарием), хотя я вроде бы для выражения внутри скобок указываю ленивый квантификатор.
Все правильно.
Потому что сначала .* матчит по максимуму включая все группы скобок кроме последней, а потом \(.*?\) матчит последнюю группу скобок.

Так что нужен еще один "?".
Код: sql
1.
.*?\(.*?\)


Но лучше уже просто написать матч для имени функции вместо .*
...
Рейтинг: 0 / 0
Помогите найти ошибку в регулярном выражении
    #39867516
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял, спасибо.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Помогите найти ошибку в регулярном выражении
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]