Я столкнулся с проблемой во время игры в Python: когда я создаю случайную строку, скажем, «тест 1981», следующий вызов Python возвращается с пустую строку.Python Regex: знак вопроса (?) Не совпадает с серединой строки
>>> re.search('\d?', "test 1981").group()
''
Мне было интересно, почему это так. Я читал некоторые другие сообщения, и, похоже, это связано с жадными и не жадными операторами. Это что? проверяет, является ли первое значение цифрой, а если нет, то требуется более простой, быстрый путь и просто ничего не выводит? Любое разъяснение поможет. Благодаря!
Ваша интерпретация звучит правильно. '\ d?' * может * совпадать с нулевыми символами, поэтому он делает именно это. '\ d' вместо этого должно совпадать с числом. –
Ahh, gotchapons. Спасибо за разъяснения. :) – Zhouster