2015-04-28 3 views
0

Я написал регулярное выражение в Javascript в ASP-файле.Проблемы с регулярным выражением

var re = new RegExp("<h2>Dollarkurs\sAktuell<\/h2><\/div>"+ 
     "<div[^>?]+><div><table>"+ 
     "<colgroup><col[^>?]+><col><col[^>?]+><\/colgroup>"+ 
     "<tbody><tr><td[^>?]+>Kurs<\/td>"+ 
     "<td[^>?]+>([^\s^<?]+)\s*<span[^>?]+>[^>?]+><\/span>"+ 
     "<span[^>?]+><\/span>"+ 
     "<\/td><\/tr><tr>"+ 
     "<td[^>?]+>Kurszeit<\/td><td[^>?]+>"+ 
     "^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$\sUhr"+ 
     "<\/td><\/tr><tr>"+ 
     "<td[^>?]+>Kursdatum<\/td><td[^>?]+>"+ 
     "([0-9\.]+)<\/td>", "gmi"); 

    var mres = re.exec(htmlTxt); 

htmlTxt это (часть веб-страницы www.finanzen.net/devisen/dollarkurs): HTML CODE enter image description here

Но в MRES объекта равна нулю. Как решить эту проблему? Мне нужен объект mres.

What I need: 
mres[0] is 1,0947 
mres[1] is 16:00:00 
mres[2] is 28.04.2015 

THX много!

+0

Почему вы не просто использовать JQuery найти? – tebayoso

+0

Можете ли вы вставить текст вместо изображения? Я был бы полезен для тестирования –

+0

Потому что я поддерживаю старый проект. Нет jQuery Lib ... –

ответ

0

@Fede

Я нашел проблему.

Регулярное выражение для + 0,58% и 16:00:00 Uhr неверны.

для 16:00:00 Uhr

solution: ^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?\sUhr 

для + 0,58%

solution: (-)?\d+\,?\d{0,2}%