Это потому, что ^
в шаблоне проверяет, находится ли [A-Z]
в начале строки. Следовательно, в заданном входном тексте text = "111 PCM Physics"
начальная строка 111
и, следовательно, шаблон не может соответствовать слову Physics
.
Согласно документации,
^ Совпадения в начале строк.
Это означает, что когда шаблон начинается с ^
, то компилятор ищет строки, которые начинаются с шаблона, следующего за ним. Например, в r'^[A-Z][a-z]+'
[A-Z] будет соответствовать начальным заглавным буквам, таким как физика, Ankit, поскольку перед ним стоит ^
.
Вы могли бы рассмотреть ниже без символа каретки. Это будет соответствовать прописным словам в любом месте входного текста.
pattern = r'[A-Z][a-z]+'