1. Для создания регулярного выражения, соответствующего определенному шаблону, вы можете использовать специальные символы и модификаторы. Ниже приведены примеры наиболее часто используемых специальных символов:
- `.`: соответствует любому одиночному символу, кроме перевода строки.
- `*`: соответствует нулю или более повторениям предыдущего символа или группы символов.
- `+`: соответствует одному или более повторениям предыдущего символа или группы символов.
- `?`: делает предыдущий символ или группу символов необязательными.
- `[]`: определяет класс символов, которому должен соответствовать одиночный символ.
Например, регулярное выражение `/\d+/` будет соответствовать одному или более цифровым символам.
2. Чтобы извлечь список тегов из шаблона "Blah blah {{tag1}} blah {{tag2}} blah", вы можете использовать следующее регулярное выражение в языке программирования Python:
```python
import re
pattern = r"\{\{(\w+)\}\}"
text = "Blah blah {{tag1}} blah {{tag2}} blah"
tags = re.findall(pattern, text)
print(tags) # ['tag1', 'tag2']
```
В этом примере мы используем модуль `re` для выполнения операций регулярного выражения в Python. Регулярное выражение `r"\{\{(\w+)\}\}"` соответствует шаблону `{{tag}}`. Символы `\{\{` и `\}\}` экранируют фигурные скобки, чтобы они были обработаны как обычные символы, а не специальные символы в регулярном выражении. Группа `(\w+)` соответствует одному или более алфавитно-цифровым символам внутри фигурных скобок, которые затем извлекаются с помощью функции `re.findall()`. Результатом будет список тегов, найденных в тексте. В данном случае, результат будет `['tag1', 'tag2']`.