Нужно регулярное выражение для обрезки файла CSS всех значений, просто сохранить селекторы - PullRequest
0 голосов
/ 08 февраля 2010

Раньше имел это, но потерял это.Может ли кто-нибудь помочь?

Это короткое выражение reg, которое я вставил в поиск замены TextMates таким образом, чтобы обрезать файл CSS.

Он находит весь текст между {} и удаляет его.

selector { value: blah; }

Становится ..

selector {}

Так что я могу вычистить файл CSS, готовый к их созданию с нуля.

Спасибо

Ответы [ 2 ]

2 голосов
/ 08 февраля 2010

Шаблон "{. *?}" Означает "фигурная скобка, за которой следует самая короткая возможная строка, за которой следует закрывающая фигурная скобка".

Если вы используете средство сопоставления регулярных выражений, которое не понимает жадный и не жадный («*» жадный, «*?» Не жадный), вы можете использовать шаблон типа «{[^}] *} «что означает« фигурная скобка, за которой следует ноль или более символов, кроме закрытой фигурной скобки, за которой следует фигурная скобка ».

Обратите внимание, что это не надежно - если у вас есть закрывающие фигурные скобки как часть определения, это сломается. Единственный способ обойти это - использовать настоящий .css парсер.

Если вы хотите захватить данные между фигурными скобками, вам нужно добавить круглые скобки, окружающие часть шаблона внутри фигурных скобок, например: "{(. *?)}", Которая будет захватывать все, кроме Фигурные скобки.

2 голосов
/ 08 февраля 2010

Чтобы найти весь текст между {} и удалить его, может работать следующее (python)

>>> re.sub("(\w+)\s*\{.*?\}","\\1 {}","""selector { value: blah; }""")
'selector {}'

Но если вам нужен сложный, вам лучше поискать css-парсеры.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...