Регулярные выражения для меня полная пустота. Я имею дело с одним прямо сейчас в TextMate, который делает то, что я хочу, но я не знаю, ПОЧЕМУ он делает то, что я хочу.
/[[:alpha:]]+|( )/(?1::$0)/g
Это используется во фрагменте TextMate, и он берет метку и выводит ее как имя идентификатора. Поэтому, если я наберу «Имя» в первом месте, это выведет «Имя». Раньше это выглядело так:
/[[:alpha:]]+|( )/(?1:_:/L$0)/g (it might have been \L instead)
Это превратит «Имя» в «Имя». Итак, я понимаю, что подчеркивание добавляет подчеркивание для пробела, а /L переводит все в нижний регистр... но я не могу понять, что делает остальная часть и почему.
Кто-нибудь хочет объяснить это по частям?
ИЗМЕНИТЬ
Вот фактический фрагмент, о котором идет речь:
<column header="$1"><xmod:field name="${2:${1/[[:alpha:]]+|( )/(?1::$0)/g}}"/></column>