Вопрос шаблон / совпадение - PullRequest
       1

Вопрос шаблон / совпадение

0 голосов
/ 25 сентября 2011

Я хочу извлечь значение 5342test за name = "buddyname" из тега fieldset.Но в HTML-коде есть несколько наборов полей.Ниже приведен пример строки в HTML.

<fieldset style="display:none"><input type="hidden" name="buddyname" value="5342test" /></fieldset>

У меня есть некоторые трудности с добавлением различных шаблонов в Pattern.compile, и я просто хочу, чтобы значение 5342test отображало не другие результаты, может кто-нибудь помочь?Спасибо.

Мой код:

String stringToSearch = "5342test";

            Pattern pattern = Pattern.compile("(\\value=\\})");  
            Matcher m = pattern.matcher(stringToSearch);

            while (m.find())
            {
              // get the matching group
              String codeGroup = m.group(1);

              // print the group
              System.out.format("'%s'\n", codeGroup); // should be 5342test
            }

Ответы [ 2 ]

1 голос
/ 25 сентября 2011

Используйте этот шаблон:

Pattern pattern = Pattern.compile("<input[^>]*?value\\s*?=\\s*?\\\"(.*?)\\\"");
0 голосов
/ 26 сентября 2011

Поскольку вы хотите, чтобы входные значения были внутри тега fieldset, вы можете использовать этот шаблон регулярных выражений.

Pattern pattern = Pattern.compile("<fieldset[^>]*>[^<]*<input.+?value\\s*=\\s*\\\"([^\\\"]*)\\\"");
Matcher matcher = pattern.matcher("<fieldset style=\"display:none\"><input type=\"hidden\" name=\"buddyname\" value=\"5342test\" /></fieldset>");
if (matcher.find()) 
    System.out.println(matcher.group(1)); //this prints 5342test
else
    System.out.println("Input html does not have a fieldset");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...