Мне нужна помощь. Я не знаю, как сделать шаблон.
String text = "<h1 align=\"center\">Как поймать льва?</h1>\n <h2 align=\"right\">Метод перебора</h2>";
У меня есть строка, и мне нужно создать шаблон для разделения всех тегов. Итак, результат должен быть:
<h1> align = "right" </h1> <h2> align = "center" </h2>
Делаю проект для компании. Я пытался найти что-нибудь в их блоге об этой проблеме, но не смог.
Pattern pattern = Pattern.compile("(<)[^\b\"](>)");
Matcher matcher = pattern.matcher(text);
while(matcher.find())
System.out.println(matcher.group());
Так что я попробовал это, но результат всегда ложный
Я не уверен, почему вы ссылаетесь на этот конкретный корпоративный (например, нетехнический) блог. Это делает ваш вопрос похожим на завуалированную попытку SEO или, что еще хуже, на спам.
Мне нужно только регулярное выражение, обычный инструмент для строк
@FedericoklezCulloca, но, может быть, ты знаешь ответ на мой вопрос? Как разделить теги с помощью регулярных выражений
Вы хотите видеть <h1>
в своем результате, но в исходном вводе есть не только этот тег. У вас есть <h1
и </h1>
. Насколько я понимаю, вам нужна дополнительная проверка вашего результата.
String text = "<h1 align=\"center\">Как поймать льва?</h1>\n <h2 align=\"right\">Метод перебора</h2>";
String regex = "(?<=\\<)(.*?)(?=\\>)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher = pattern.matcher(text);
while(matcher.find())
{
if (matcher.group().contains(" = "))
{
String tag = matcher.group().substring(0,2);
System.out.println("<" + tag + ">" + matcher.group().substring(2, matcher.group().length()) + " </" + tag + ">");
}
}
Результат:
<h1> align = "center" </h1>
<h2> align = "right" </h2>