1. В контекстном селекторе
(div a) правило применится сразу для всех тегов a, находящихся внутри
div. Таким образом, имея следующую структуру:
<div>
<a>Ссылка 1</a>
<ul>
<li><a>Ссылка 2</a></li>
<li><a>Ссылка 3</a></li>
</ul>
</div>
и следующий селектор:
div a {...}
вы примените ваше правило ко ВСЕМ ссылкам внутри
div (Ссылка 1, Ссылка 2, Ссылка 3). И не важно, на каком уровне вложенности они находятся.
Если же вы напишете:
div > a {...}
то ваши стили применятся ко всем ссылкам, которые лежат НЕПОСРЕДСТВЕННО в блоке
div. В нашем случае это только Ссылка 1.
Подробнее читайте здесь:
Контекстные селекторыДочерние селекторы
2. Это называется регулярные выражения. Это очень мощный механизм для поиска и проверки вхождения строки в другую строку. Применительно к CSS читайте здесь:
www.nulled.cc/threads/243048