У меня есть друг, у которого это работало в определенный момент времени. При изучении регулярных выражений я не понимаю, почему у него будет//, поскольку тестеры песочницы не работают.java, regular expressions, & matcher
private static final Pattern SUB_URL_PATTERN = Pattern.compile("href=\"(/*\\w*/*\\w*/\\d+.html)\">",Pattern.CASE_INSENSITIVE | Pattern.DOTALL);
Что такое/в приведенном выше шаблоне регулярного выражения? Этот шаблон сломан, и я не уверен, как это исправить.
Вот как это выходит в отладчик:
href="(/*\w*/*\w*/\d+.html)">
Является ли это как регулярное выражение сломается?
href=" ... matches href="
/* ... matches 0 or more occurrences of/
\w* ... matches 0 or more occurrences of word characters
/* ... matches 0 or more occurrences of/
\w* ... matches 0 or more occurrences of word characters
/ ... matches a/
\d+ ... matches one or several digits
.html)"> ... matches /html
Вот фрагмент источника веб-страницы, что он должен ударять на захват HREF = "/ рео/4890530477.html":
<a href="/reo/4890530477.html" class="i" data-ids="0:00j0j_jDfSzBcGgid"></a>
Так что не пытайтесь разобрать HTML с регулярным выражением Используйте HTML-парсер. – Jens
/, вероятно, пытается совместить /. – immibis