Dificuldade com regex

Boa tarde!

Estou mexendo com ‘robôs’ para capturar informações em alguns sites e o caminho mais ‘fácil’ e limpo que vi até agora para tratar todo o HTML da página foi através de Regex.
Um colega de trabalho montou um para o primeiro site que eu fiz e ficou muito bom, problema que mudei o site agora e estou apanhando feio.

Ex:

Em uma página HTML a informação que aparece é:

Endereço: Av. Barão do Rio Branco 2001
Bairro: Centro
Cidade: Petrópolis

o html disso é:

[code]

                  <td valign="top" nowrap="nowrap" class="info">Endere&ccedil;o:</td>

                  <td valign="top">
                    Av. Barão do Rio Branco
                    &nbsp;
                    2001
                    &nbsp;                

                    &nbsp;
                  </td>
                </tr>              
           
                <tr>
                  <td valign="top" nowrap="nowrap" class="info">Bairro:</td>
                  <td valign="top">
                    Centro
                  </td>
                </tr>              
              
                <tr>
                  <td valign="top" nowrap="nowrap" class="info">Cidade:</td>
                  <td valign="top">
                    Petrópolis
                  </td>
                </tr>

[/code]

então, para buscar estas três informações, o colega usou o seguinte código: (scriptBuffer contem todo o HTML da página)

[code]static Pattern endereco = Pattern.compile(“Endereço:[^>]>[^>]>([^<])", Pattern.MULTILINE);
static Pattern bairro = Pattern.compile("Bairro:[^>]
>[^>]>([^<])”,Pattern.MULTILINE);
static Pattern cidade = Pattern.compile(“Cidade:[^>]>[^>]>([^<]*)”,Pattern.MULTILINE);

m = endereco.matcher(ScriptBuffer);
if (m.find()) {
System.out.println("Cidade: " + m.group(1));
}

			m = bairro.matcher(ScriptBuffer);
			if (m.find()) {
				System.out.println("Cidade: " + m.group(1));					
			}

			m = cidade.matcher(ScriptBuffer);
			if (m.find()) {
				 System.out.println("Cidade: " + m.group(1));
			}

[/code]

e a informação vem redondinha. Apenas o texto que preciso.

1ª pergunta, o que este código: " (“Bairro:[^>]>[^>]>([^<]*)” faz? O que estou dizendo que eu quero nisso?
dei uma lida aqui em toda documentação da classe regex, e está tudo bem confuso na minha mente ainda, ainda + pq o colega concatenou várias coisas nessa expressão ai.

Acontece que nesta nova página, o HTML vem com fechamento de aspas + cedo:

[code]


Classe:





	<span id="">	

<span id="">Procedimento Ordinário</span>

[/code]

e não consigo pegar a informação, podem me ajudar nisso e na minha pergunta?

obrigado

Hum … trabalhar com expressões regulares não é uma tarefa muito fácil. Você precisa estudar bastante o formato das expressões (praticamente um novo paradoxo de programação) para que assim você consiga utilizá-las tirando o máximo de proveito.

Te aconselho a dar uma procurada na internet por material sobre expressões regulares e estudar a fundo.

Boa sorte