matches()
вернет true только в том случае, если полная строка соответствует. find()
попытается найти следующее вхождение в подстроке, которое соответствует регулярному выражению. Обратите внимание на акцент на «следующий». Это означает, что результат вызова find()
несколько раз может быть не таким. Кроме того, с помощью find()
вы можете вызвать start()
, чтобы вернуть позицию, подстроенную подстрокой.
final Matcher subMatcher = Pattern.compile("\\d+").matcher("skrf35kesruytfkwu4ty7sdfs");
System.out.println("Found: " + subMatcher.matches());
System.out.println("Found: " + subMatcher.find() + " - position " + subMatcher.start());
System.out.println("Found: " + subMatcher.find() + " - position " + subMatcher.start());
System.out.println("Found: " + subMatcher.find() + " - position " + subMatcher.start());
System.out.println("Found: " + subMatcher.find());
System.out.println("Found: " + subMatcher.find());
System.out.println("Matched: " + subMatcher.matches());
System.out.println("-----------");
final Matcher fullMatcher = Pattern.compile("^\\w+$").matcher("skrf35kesruytfkwu4ty7sdfs");
System.out.println("Found: " + fullMatcher.find() + " - position " + fullMatcher.start());
System.out.println("Found: " + fullMatcher.find());
System.out.println("Found: " + fullMatcher.find());
System.out.println("Matched: " + fullMatcher.matches());
System.out.println("Matched: " + fullMatcher.matches());
System.out.println("Matched: " + fullMatcher.matches());
System.out.println("Matched: " + fullMatcher.matches());
Будет выводиться:
Found: false Found: true - position 4 Found: true - position 17 Found: true - position 20 Found: false Found: false Matched: false ----------- Found: true - position 0 Found: false Found: false Matched: true Matched: true Matched: true Matched: true
Итак, будьте осторожны при многократном вызове find()
, если объект Matcher
не был сброшен, даже когда регулярное выражение окружено с ^
и $
, чтобы соответствовать полной строке.
Вы можете использовать информацию на этой страницах Java Tips .
Я удалил свою папку src
и использовал следующие шаги, чтобы вернуть ее:
Перейдите в строку меню Eclipse, нажмите «Изменить», а затем - «Отменить удаление ресурса». Каждый раз, когда вы нажимаете «Отменить удаление ресурса», он возвращает ресурсы, которые были удалены. Я не уверен, сможете ли вы восстановить удаленные ресурсы, если вы попытаетесь восстановить после перезагрузки компьютера, так как вы удалили свой ресурс.
Вы не хотите сталкиваться с этим несколько раз, чтобы быть в безопасности, всегда используйте контроль версий, такой как Git, SVN, Mercurial.
Если у вас все еще есть двоичная форма (.class), то есть вы только удалили исходный код, то вы можете декомпилировать , а затем вернуться к исходному коду.
Поиск в Google для некоторых декомпиляторов, например Cavaj.
Ответ : Вы не можете .. извините: \
Если восстановление из местной истории не работает, значит, вам не повезло, я боюсь ... удаление файлов - это УДАЛЕНИЕ их ... никогда не возвращать их обратно.
Мое предложение будет более осторожным при удалении и использовании программного обеспечения Source Control Management, такого как SVN или Git, чтобы вы могли создавать версии своих файлов, чтобы предотвратить повторение подобных вещей.
Если вы используете VCS, такой как SVN или GIT, вы можете просто воссоздать файл с тем же именем и в том же месте, что достаточно.
Можно использовать информацию на этой странице Java Tips.
я удалил свою src папку и использовал следующие шаги для возвращения ее:
-> Избранный Проект
-> Щелчок правой кнопкой
-> Избранное Восстановление из локальной истории в контекстном меню
-> Выбор Ваши файлы,
-> Нажимают "OK".
-> Затем переходят к Вашему мерзавцу и делают "имя файла контроля мерзавца"
-> Это должно полностью восстановить файл и его содержание
, я надеюсь, что это помогает