Как указать строку в регулярном выражении?
Например, есть текст:
|*Some Text1*|100
|*Some Text2*|200
|*Some Text3*|300
Как указать в регулярке, что мне нужно взять из первой строки число 100, или например из второй строки число 200 и из третей число 300? То есть все сразу значения после текста мне не нужны, но мне нужно три регулярки, которые в каждом случае возвращают именно число после символа | из строки 1 или строки 2 или из строки 3.
Ответы (1 шт):
Автор решения: nomnoms12
→ Ссылка
Вам может помочь следующее регулярное выражение: ^\|[^|]*\|(\d+).
| Конструкция | Значение |
|---|---|
^ |
Начало строки |
\| |
Символ | (его нужно экранировать) |
[^|]* |
0 или более повторений любого символа, кроме | |
\d+ |
1 или более повторений цифры |
Группа для выбора указывается в круглых скобках: (\d+).
import re
regex = re.compile(r'^\|[^|]*\|(\d+)')
num1 = regex.findall('|*Some Text1*|100')[0] # 100
num2 = regex.findall('|*Some Text2*|200')[0] # 200
num3 = regex.findall('|*Some Text3*|300')[0] # 300