Как использовать регулярные выражения в StringTokenizer - PullRequest
0 голосов
/ 26 февраля 2012
StringTokenizer st = new StringTokenizer(remaining, "\t\n\r\"'>#");

String strLink = st.nextToken();

Входные данные для строки Остальные могут быть следующими:

  1. "http://somegreatsite.com">Link Name</a>is a link to another nifty site<H1>This is a Header</H1><H2>This is a Medium Header</H2>Send me mail at <a href="mailto:support@yourcompany.com">support@yourcompany.com</a>.<P> This is a new paragraph!<P> <B>This is a new paragraph!</B><BR> <B><I>This is a new sentence without a paragraph break, in bold italics.</I></B><HR></BODY></HTML>

  2. "mailto:support@yourcompany.com">support@yourcompany.com</a>.<P> This is a new paragraph!<P> <B>This is a new paragraph!</B><BR> <B><I>This is a new sentence without a paragraph break, in bold italics.</I></B><HR></BODY></HTML>

Я знаю, что конструктор StringTokenizer будет разбивать строку *remaining* на токены с помощью регулярного выражения.Но я не могу понять регулярное выражение, используемое здесь.

strLink будет иметь следующее значение в зависимости от значения в строке *remaining*:

1. http://somegreatsite.com
2. mailto:support@yourcompany.com

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

1 Ответ

3 голосов
/ 26 февраля 2012

Эти символы \t\n\r\"'># являются не регулярным выражением, а разделителями. Вы можете увидеть значение специальных символов, например, в классе Pattern .

\t - The tab character
\n - The newline (line feed) character
\r - The carriage-return character
\" - this is just a double quote
', >, # - other symbols
...