Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   нужна помощь с регуляркой (https://javascript.ru/forum/misc/39343-nuzhna-pomoshh-s-regulyarkojj.html)

egorea1999 26.06.2013 08:26

нужна помощь с регуляркой
 
нужно чтобы из такой строки: <h1>2 x <a href="/story.php?title=War-Thunder_1000-%D0%97%D0%BE%D0%BB%D0%BE%D1%82%D1%8B%D1%85-%D0%BE%D1%80%D0%BB%D0%BE%D0%B2">War Thunder - 1000 Золотых орлов</a></h1>

вырезалось только это(парсилось регуляркой): War Thunder - 1000 Золотых орлов

есть такая регулярка: <h1>(.*?)</a></h1> , но к сожалению он парсит только так:

2 x <a href="/story.php?title=War-Thunder_1000-%D0%97%D0%BE%D0%BB%D0%BE%D1%82%D1%8B%D1%85-%D0%BE%D1%80%D0%BB%D0%BE%D0%B2">War Thunder - 1000 Золотых орлов

sexyQuery 26.06.2013 08:46

document.getElementsByTagName('h1')[0].innerText

sexyQuery 26.06.2013 08:47

если регуляркой, то

/([^>]+)<\/a><\/h1>/.exec(s)[1]
"War Thunder - 1000 Золотых орлов"

egorea1999 26.06.2013 08:48

Цитата:

Сообщение от sexyQuery (Сообщение 258521)
document.getElementsByTagName('h1')[0].innerText

о_О

я такое не понимаю, извините, а можно код такого типа, как у меня?:blink:

egorea1999 26.06.2013 08:49

Цитата:

Сообщение от sexyQuery (Сообщение 258522)
если регуляркой, то /([^>]+)</a></h1>/

не, не выходит :(

egorea1999 26.06.2013 08:50

Нашел такую регулярку:

<h1>.+<a[^>]+>(.*?)</a></h1>


Вот, всё классно:

=======Покупки=======
War Thunder - Глобальная Бета
War Thunder - Продвинутый набор &quot;Дора&quot;
War Thunder - Доступ в Бета-тест


НО

не парсит такую строку:
<h1>2 x <a href="/story.php?title=War-Thunder_1000-%D0%97%D0%BE%D0%BB%D0%BE%D1%82%D1%8B%D1%85-%D0%BE%D1%80%D0%BB%D0%BE%D0%B2">War Thunder - 1000 Золотых орлов</a></h1>

а другие без 2x парсит....

____________
Ну или хотя бы чтобы этот 3x не парсило,а название покупки: War Thunder - 1000 Золотых орлов парсило

sexyQuery 26.06.2013 08:51

см мое сообщение

Цитата:

Сообщение от sexyQuery (Сообщение 258522)
если регуляркой, то

/([^>]+)<\/a><\/h1>/.exec(s)[1]
"War Thunder - 1000 Золотых орлов"


sexyQuery 26.06.2013 08:52

s - исходная строка

egorea1999 26.06.2013 08:53

Цитата:

Сообщение от sexyQuery (Сообщение 258526)
см мое сообщение



хоть бы хны

sexyQuery 26.06.2013 08:59

регулярка правильная, другое дело если заголовков h1 больше одного, либо ты не там ищешь


Часовой пояс GMT +3, время: 03:08.