matches();
не буферизует, а find()
- буферы. find()
сначала выполняет поиск в конце строки, индексирует результат и возвращает логическое значение и соответствующий индекс.
Вот почему, когда у вас есть такой код, как
1:Pattern.compile("[a-z]");
2:Pattern.matcher("0a1b1c3d4");
3:int count = 0;
4:while(matcher.find()){
5:count++: }
В 4: механизм регулярных выражений с использованием структуры шаблонов будет читать весь ваш код (индекс для индексации, как указано regex[single character]
, чтобы найти хотя бы одно совпадение. Если такое совпадение найдено, оно будет проиндексировано, тогда цикл будет выполняться на основе индексированного результата else, если он не выполнил вычисления, как matches()
; Оператор while никогда не будет выполняться, так как первый символ совпадающей строки не является алфавитом.
Эти две команды работали для меня:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
затем:
python get-pip.py
Недавно сайты Python.org перестали поддерживать TLS версии 1.0 и 1.1 , что может стать причиной проблемы курицы и яйца, с которой вы столкнулись. Попробуйте обновить pip
без , используя pip
:
curl https://bootstrap.pypa.io/get-pip.py | python
Попробуйте:
Щелкните правой кнопкой мыши Anaconda Prompt (Запуск от имени администратора)
>> conda update pip
(у меня сработало)