REGEX для выбора имен CSS классов из файла - PullRequest
1 голос
/ 04 июля 2019

Мне нужно выбрать все имена классов в css-файле, я новичок в этом, также если кто-то может посоветовать несколько хороших онлайн-учебников по регулярным выражениям.

Regex будет использоваться в JavaScript

Я пришел с этим, который работает для простых классов: /(?<=\.).+?(?=\{)/g

.className { 
}

вышеприведенное регулярное выражение вернуло это: className

теперь мне нужно добавить и это:

tagName1 {
}

#tagName2 {
}

.tagName3:hover {
}

.tagName4:anything {
}
should result in:
tagname1
tagname2
tagname3
tagname4

Так, как выбрать выше?

Ответы [ 2 ]

1 голос
/ 04 июля 2019

Я бы использовал:

 ^[.#]?(\w+)(?=(?::\w+)?\s*{)

Требуемое имя в группе # 1

Демо со вкусом регулярных выражений javascript.

1 голос
/ 04 июля 2019

Я предполагаю, что мы бы хотели создать выражение, подобное

([^:#\s.]+)(?:.*?)?\s*({[^}]*?})

, где в этой группе захвата

([^:#\s.]+)

мы бы отменили выбор некоторых символов, таких как ., # и пробел, и мы будем собирать нужные данные.

Демо

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