Форум » » ПОМОГИТЕ ПОЖАЛУЙСТА regexp » Ответить
ПОМОГИТЕ ПОЖАЛУЙСТА regexp
Arslan: Есть интернет провайдер ORIONNET.RU, баланс получаю а вот абонента не могу //<tr> //<td align="right"><font class="style1"><span class="style2">Полное имя:</span> </font> </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> </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> </td> <td align="left"><font class="style1">ООО "ААААА</font></td> </tr> <tr> <td align="right"><font class="style1"><span class="style2">Дата создания:</span> </font> </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> </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 кошельку.
полная версия страницы