Если вы просто хотите, чтобы соответствовать ничего там:
r'The file (.+?) in successfully uploaded'
.
означает любой символ, а +
означает один или несколько предшествующих.
?
означает сделать это, не взахлеб, так что если у вас есть два предложения в ряд, как "The file foo.bar is successfully uploaded. The file spam.eggs is successfully uploaded."
, это будет соответствовать "foo.bar"
, а затем "spam.eggs"
, а не просто найти один матч "foo.bar is successfully uploaded. The file spam.eggs"
. Возможно, вам это не понадобится в вашем приложении.
Наконец, круглые скобки заключаются в том, как вы отмечаете часть шаблона как группу, которую вы можете извлечь из объекта соответствия.
Но что, если вы хотите совместить только действительные имена файлов? Ну, вам нужно придумать правило для действительных имен файлов, которые могут отличаться в зависимости от вашего приложения. Это зависит от Windows? Это то, что вы просматриваете, цитируя имена файлов с пробелами? И так далее.
Покажите свою проблему, пожалуйста. – Jerry
Действительно ли это предложение, с «in» вместо «is»? (Здесь важно быть точным, потому что регулярное выражение не собирается определять, что вы на самом деле имели в виду, и дайте ему слайд.) – abarnert
Если вы действительно не знаете базовые элементы регулярного выражения, подобные этому, вы должны либо (а) работать через учебник (по крайней мере, [Регулярное выражение HOWTO] (http://docs.python.org/3.3/howto/regex.html#regex-howto) в документах, но, возможно, что-то более дружелюбное, вы можете найти в Интернете), или (b) не использовать регулярные выражения, пока вы не захотите это сделать. В противном случае вы просто копируете и вставляете магический код, не понимая, что он делает, что делает невозможным отладку или улучшение кода. – abarnert