2016-09-12 3 views
-4

В этом случае я хотел бы захватить dgdhyt2464t6ubvf через регулярное выражение. Не могли ли вы помочь мне, пожалуйста. Спасибо огромное!Regex игнорировать теги HTML

<br />For API key "fnt56urkehicdvd", use API key secret: 
<br /> 
<br /> dgdhyt2464t6ubvf 
<br /> 
<br />Note that it's normal to 

До сих пор у меня есть, но это не обходя <br />:

use API key secret:[\s]+</br>*(.*)[\s]+\sNote 
+4

[Обязательная ссылка] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags). –

+0

Всегда ли это третья строка? Для регулярного выражения нужно иметь какой-то шаблон. Что такое шаблон? – brso05

+1

С необходимой [обязательной ссылкой для комментариев] (http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags?rq=1#comment1612336_1732454). – callyalater

ответ

0

Вы можете сделать это:

public static void main(String[] args) 
{ 
    String test = "<br />For API key \"fnt56urkehicdvd\", use API key secret:" + 
     "<br /><br /> dgdhyt2464t6ubvf<br /><br />Note that it's normal to"; 
    String[] temp = test.split("\\<br /\\>"); 
    System.out.println(temp[3].trim()); 
} 

Выход:

dgdhyt2464t6ubvf

0

У вас есть ошибки в вашем регулярном выражении.

  1. * после </br> только делает > необязательными. Я предполагаю, что вы хотите, чтобы весь </br> был дополнительным.
  2. </br> должно быть <br />. В тексте нет </br>, поэтому регулярное выражение ничего не найдет. Кстати, <br */> лучше, так как пространство не нужно.
  3. Поскольку (.*) жадный, он будет соответствовать всем отсюда до последнему «Примечание» в тексте. Я уверен, что это не то, что вы хотите.
  4. \sNote соответствует слову «Примечание», которому предшествует пробел, но не (как в примере) слово «Примечание» не, которому предшествует пробел. Удалите \s.

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

Смежные вопросы