У меня есть следующие строки CSS (пример):

body, greed { background-image: -webkit-gradient(from( #fff ), to( #ebebeb )); }

Я хочу заменить запятые на знак $ между {и} регулярным выражением (я использую Notepad ++)

Вот что у меня сейчас есть: {(. *)}

1
user1204111 5 Сен 2013 в 14:15
2
Пожалуйста, покажите, какой результат вы хотите получить, чтобы мы понимали, о чем вы просите.
 – 
Niet the Dark Absol
5 Сен 2013 в 14:17
Желаемый результат должен быть запятой, но не между телом и зеленым, а внутри {и}
 – 
user1204111
5 Сен 2013 в 14:19

1 ответ

Лучший ответ

Попробуйте использовать это:

,(?=[^\{\}]*\})

И замените на $.

Положительный просмотр вперед ,(?=[^\{\}]*\}) гарантирует, что впереди есть закрывающая скобка, а между ними нет скобок.

Результат:

body, greed { background-image: -webkit-gradient(from( #fff )$ to( #ebebeb )); }
0
Jerry 5 Сен 2013 в 14:20
1
Первые две обратные косые черты могут быть сохранены. Я имею в виду двоих в [..]
 – 
Kent
5 Сен 2013 в 14:29
Верный. Я считаю, что их экранирование делает его немного более читаемым, особенно для людей, плохо знакомых с регулярными выражениями, поэтому я оставил их на всякий случай.
 – 
Jerry
5 Сен 2013 в 14:36