Скажите, у меня есть следующий код:
import re
strings_of_text = ['data0', 'data23', 'data2', 'data55', 'data_mismatch', 'green']
strings_to_keep = []
expression_to_use = r'^\d{2}$|(?<=\s)\d{2}(?=\s)|(?<=\s)\d{2}$|^\d{2}(?=\s)'
for string in strings_of_text:
# If the string is data#
if (re.search(expression_to_use, string)):
strings_to_keep.append(string)
print(strings_to_keep)
Где меня интересует только добавление строк с шаблоном «data», за которым следует некоторое число. Так что в этом случае я бы хотел добавить только 'data0', 'data23', 'data2', 'data55'
Как я могу это сделать? Я думаю, что мне нужно будет import re
, но я не уверен, как его использовать.
Я прочитал это: Регулярное выражение Python ищет только две цифры
Но когда я пытаюсь изменить свое регулярное выражение, используя это выражение
^\d{2}$|(?<=\s)\d{2}(?=\s)|(?<=\s)\d{2}$|^\d{2}(?=\s)
Это не работает ... Вот где я застрял. Я новичок в использовании регулярных выражений, так что спасибо всем, кто публикует заранее
EDIT:
Вот результат, который я пытаюсь получить:
print(strings_to_keep)
>>> ['data0', 'data23', 'data2', 'data55']