Как обозначить "содержит эту последовательность символов" в регулярном выражении?

У меня есть такие строки

<link href = "css/style.min.css">

<script src = "js/script.min.js"></script>

<main class="page">

</main>

Хочу найти только пути к файлам с помощью регулярных выражений. У меня получилось найти весь текст в кавычках с помощью такого регулярного выражения:

(`|"|')(.*)(`|"|')

Теперь мне надо найти только тот текст, который содержит .css .js. Я попробовал сделать такое выражение:

(`|"|')[.jscss](.*)(`|"|')

но оно не исключило строку с class так как [] означают "содержит любой из этих символов". Есть ли выражение "содержит эту последовательность символов"?


Ответы (2 шт):

Автор решения: Konstantin_SH

Такое выражение подошло, но оно с кучей скобок:

/'|`|"(.*\.js|.*\.css)(`|"|')/g

Если предложите более читаемый вариант, буду рад.

Update:

Со строками типа:

<link rel="stylesheet" type="text/css" href="css/style.min.css">

это не работает. Данное выражение выделяет все, начиная с первой кавычки, а мне нужен именно путь, поэтому, основываясь на ответе UModeL я дополнил его выражение, но опять получилась куча скобок:

([`"'])\w?:?((\.{1,2})?\/{1,2})?\/?(css|js).+?\.(css|js)\1/gi

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

/(css|js).+?\.(css|js)\1/gi
→ Ссылка
Автор решения: UModeL

Да, Вы правы - можно чуть подсократить:

/[^`"']+?\.(css|js)/gi

Чтобы вместе с кавычками:

/([`"'])\S+?\.(css|js)\1/gi
→ Ссылка