2013-11-27 4 views
0

Я использую программу, которая получает информацию о погоде от сервисов Yahoo, в данном конкретном случае, информацию о погоде для Лиссабона (Португалия).Регулярные выражения по HTML

Крайне важно, чтобы моя программа получает набор чисел. Тем не менее, я получаю содержание в HTML:

<![CDATA[ 
<img src="http://l.yimg.com/a/i/us/we/52/30.gif"/><br /> 
<b>Current Conditions:</b><br /> 
Partly Cloudy, 8 C<BR /> 
<BR /><b>Forecast:</b><BR /> 
Wed - Sunny. High: 14 Low: 6<br /> 
Thu - Sunny. High: 12 Low: 8<br /> 
Fri - AM Showers. High: 14 Low: 6<br /> 
Sat - Sunny. High: 15 Low: 7<br /> 
Sun - Sunny. High: 12 Low: 7<br /> 
<br /> 
<a href="http://us.rd.yahoo.com/dailynews/rss/weather/Lisbon__PT/*http://weather.yahoo.com/forecast/POXX0016_c.html">Full Forecast at Yahoo! Weather</a><BR/><BR/> 
(provided by <a href="http://www.weather.com" >The Weather Channel</a>)<br/> 
]]> 

Поэтому у меня есть следующие вопросы:

  1. есть ли регулярное выражение, которое может помочь мне выбрать только номера для Wed - Sunny. High: 14 Low: 6<br /> температуры?
  2. Если 1 не может быть сделано, регулярные выражения недостаточно сильны для этого типа работы? 3.Если они нет, есть ли какое-либо регулярное выражение, которое дает мне только все числа в файле? (Цифры - все, что мне нужно).

Заранее спасибо, Педро.

+0

Если вы используете .NET, используйте [HtmlAgilityPack] (http://www.nuget.org/packages/HtmlAgilityPack) (или какой-либо другой парсер html). Забудьте о регулярных выражениях в HTML. –

+0

Если вы еще не прочитали [этот ответ] (http://stackoverflow.com/a/1732454/785745), сделайте пожалуйста. А затем получите правильный парсер. –

+0

Номера находятся в тегах прямо под описанием. Легче извлечь их оттуда с помощью синтаксического анализатора XML. – JJJ

ответ

1

Группы 1 и 2 этого регулярное выражение содержит два числа в среду:

^Wed.*?High: (\d+) Low: (\d+) 

См live demo этого регулярное выражение работает с вашим примером.

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