Форум » » ПОМОГИТЕ ПОЖАЛУЙСТА regexp » Ответить

ПОМОГИТЕ ПОЖАЛУЙСТА regexp

Arslan: Есть интернет провайдер ORIONNET.RU, баланс получаю а вот абонента не могу //<tr> //<td align="right"><font class="style1"><span class="style2">Полное имя:</span> </font>&nbsp; </td> //<td align="left"><font class="style1">ООО "1111"</font></td> //</tr> Подскажите как сделать чтобы ООО "1111" вставало в UserName

Ответов - 15

SiBear: Arslan Попробуйте использовать вот такое рег.выражение: [pre]Полное имя:.*\n.*?1">(.*?)<[/pre]

Arslan: Нет не помогло к сожалению, пустое значение

SiBear: Arslan Если текст именно такой, как Вы привели в первом посте - то должно сработать. Вы каким образом получаете исходный текст? С помощью комбинации html=external.source; или же html=document.documentElement.outerHTML; если вторым способом, то текст будет существенно отличаться от исходного. Его можно просмотреть нажав на кнопку "Сохранить содержимое document.documentElement.outerHTML как..."


Arslan: html=external.source Нет там вместо "1111" название организации

SiBear: Даже, если там не цифры - то все равно должно работать. Сейчас проверил вот на этом коде: [pre2] html=""; html+='//<tr>\n'; html+='//<td align="right"><font class="style1"><span class="style2">Полное имя:</span> </font>&nbsp; </td>\n'; html+='//<td align="left"><font class="style1">ООО "Название фирмы"</font></td>\n'; html+='//</tr>\n'; regexp=/Полное имя:.*\n.*?1">(.*?)</; if (res=regexp.exec(html)){ response.UserName=res[1]; }; alert(response.UserName) [/pre2] Все работает "как часы"

Arslan: У меня тоже такой код работает, но с html название фирмы не вставляет.

SiBear: Arslan Посмотрите, пожалуйста, еще более подробно на код, где находится название. Можно начать вот с такого выражения: Полное имя:.*\n(.*) оно покажет что находится во второй строчке после ключевой фразы "Полное имя:" ну а дальше уже путем экспериментов закончить regexp

Arslan: <tr> <td align="right"><font class="style1"><span class="style2">Полное имя:</span> </font>&nbsp; </td> <td align="left"><font class="style1">ООО "ААААА</font></td> </tr> <tr> <td align="right"><font class="style1"><span class="style2">Дата создания:</span> </font>&nbsp; </td> <td align="left"><font class="style1">Tue Mar 15 14:06:04 2011</font></td> </tr> <tr> <td align="right"><font class="style1"><span class="style2">Блокировка:</span> </font>&nbsp; </td> <td align="left"><font class="style1">Не заблокирован</font></td> </tr> Вот этот код с сайта.

SiBear: В этом коде ключевая фраза Полное имя: находится на разных строках. В оригинале также? Или так произошло при копирвании в форум?

Arslan: Да в оригинале так же.

Arslan: Там в тексте существует перевод строки, т.е. ентер, из за этого проблема может быть?

SiBear: Arslan Ну так, получается, оригинальный текст отличается от того, который Вы привели в первом посте... Тогда подойдет вот это регулярное выражение: [pre]Полное.*?\n.*?имя:.*?\n.*?1">(.*?)<[/pre]

Arslan: =))))Огромное спасибо, помогло=) А можете еще с кредитом помочь, кредит распознает по Кредит:.*\n.*?>(.*?)<, но еще руб. берет, и из за этого ошибка конвертации выскакивает. Что мне исправить в коде?

Arslan: Все спасибо разобрался с кодом=)

WorkerB: Помогите пожалуйста с регулярным выражением. Есть код <div class="profileInfo" data-widget="person-info"><!-- --><dl id="profileLogin"> <dt>Кошелек</dt> <dd>+79162578186</dd> </dl><!-- --><dl id="profileBalance"> <dt>Баланс основного счета</dt> <dd> <select style="width: 162px; display: none;" id="ui-id-1" class="accountSelect" data-helper-selectmenu=""> <option id="person-accounts-RUB" class=" qvcOwner defaultAccount " selected="selected" value="RUB"> 20,97 RUB </option> Как вытащить из "Баланса основного счёта" сумму 20,97? Конкретно, это относится к QIWI кошельку.



полная версия страницы