Подобрать регулярное выражение python

У меня есть список cd команд. Мне нужно выбрать только правильные из них использую re python. Пример:

echo %cd% #False
cd C:\\User\\data 1\\data
cd C:\\User lldo #False
cd ../directory #True
cd C:\\ #True
text cd C:\\ #False
....

Помогите пожалуйста подогнать моё регулярное выражение под эту задачу?

Моё регулярное выражение

(.*)(cd \w*)(.*)

UPD Там где есть комментарий #True, команда правильная. Там где #False, неправильная. В винде как и в остальных системах есть команда cd. cd принимает один аргумент - путь. Если мы введём такую text cd C: или такую cd C: text команду, то мы получим ошибку. Мне нужно проверить, является ли строка валидной командой cd.
Спасибо


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

Автор решения: Михаил Муругов

Непонятно, какая задача у ТСа. Первое, что приходит на ум при таком расплывчатом описании:

import shlex  # Модуль для лексического анализа простого синтаксиса, подобного unix shell


cmds = (  # Команды для проверки
    r'echo %cd%', #False
    r'cd C:\\User lldo', #False
    r'cd ../directory', #True
    r'cd C:\\', #True
    r'text cd C:\\' #False
)

for cmd in cmds:
    tokens = shlex.split(cmd)  # Разбиваем команду на unix-токены
    
    # Выводим команду и результат проверки на то, что эта команда состоит только из двух токенов и первый токен cd
    print(f'{cmd} #{len(tokens) == 2 and tokens[0] == "cd"}')  
→ Ссылка