РЕДАКТИРОВАТЬрегулярного выражения: заменитель символ в захваченной группе
В регулярном выражении, может комбинационный захват группа быть заменена одной и той же игрой изменены заменяющей символа с другим?
ORIGINAL ВОПРОС
Я преобразования список продуктов в текстовый файл CSV. Каждая строка в списке имеет: number name[ description] price
в этом формате:
1 PRODUCT description:120
2 PRODUCT NAME TWO second description, maybe:80
3 THIRD PROD:18
Полученный формат должен включать в себя также слаг (с -
вместо ) в качестве второго поля:
1 PRODUCT:product-1:description:120
2 PRODUCT NAME TWO:product-name-two-2:second description, maybe:80
3 THIRD PROD:third-prod-3::18
Я использую регулярное выражение:
(\d+) ([A-Z ]+?)[ ]?([a-z ,]*):([\d]+)
и замена струна:
`\1 \2:\L$2-\1:\3:\4
Таким образом, мой результат:
1 PRODUCT:product-1:description:120
2 PRODUCT NAME TWO:product name two-2:second description, maybe:80
3 THIRD PROD:third prod-3::18
, что я скучаю является разделителем дефис -
мне нужно во втором поле, то есть группа \2
с ' -
'вместо' '.
Возможно ли это с одним регулярным выражением, или я должен пойти на второй проход?
(на данный момент я использую текстовый редактор Sublime)
Thanx.
Я уверен, вам понадобится еще один раунд регулярного выражения, чтобы решить эту проблему. – Aaron
@Aaron Я тоже начинаю быть уверенным, если вы уверены, добавьте ответ, и я его приму;) –