Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Web > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 25 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

Ответ
 
Опции темы
Старый 27.02.2012, 22:14   #11
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

В данном случае я всё-таки обошёлся регуляркой. Я просто искал по цифрам, точке и знаку >. Ведь именно такое сочетание в строке одно, значит, его можно выцепить.
Спасибо.
Но как раз поэтому я их и не люблю, потому что возникают такие вот вещи, и пока не прочтёшь руководство, где абсолютно всё разжевано и не перепробуешь 100 раз, вряд ли будет удовольствие от них...
motorway вне форума   Ответить с цитированием
Старый 28.02.2012, 11:14   #12
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

WennY, можете еще раз задачу сформулировать [более четко]? Что требуется найти?
Тишина – самый громкий звук
nerv вне форума   Ответить с цитированием
Старый 28.02.2012, 11:46   #13
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
По умолчанию

Код:
<script>
var td = '<td class="Bold nowrap" align="right"><a href="/system/id?1" title="Экспресс-выписка">1000.00</a>';

var r = td.match(/<td class="Bold nowrap" align="right">.*?>(.*?)<\/a>/gi);

alert(r[0]);
</script>
Тут я пытаюсь по моему условию (оно важно) выделить цифры баланса (в моем случае это 1000.00) и сохранить их. После чего я вывожу: r[0] или r[1]. Выводит только целиком строку, моего вроде как сохраненного вхождения ((.*?)) - нету. Не сохраняет. Я хочу понять, что не так в моей реализации шаблона регулярки, где накосячил. Спс

Последний раз редактировалось WennY; 28.02.2012 в 12:04.
WennY вне форума   Ответить с цитированием
Старый 28.02.2012, 12:11   #14
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

могу предложить такой вариант
Код:
var x = '<td class="Bold nowrap" align="right"><a href="/system/id?1" title="Экспресс-выписка">1000.00</a>';
var z = /[.\d]+(?=<\/a>)/i;

alert( z.exec( x ) );
Тишина – самый громкий звук

Последний раз редактировалось nerv; 28.02.2012 в 12:15.
nerv вне форума   Ответить с цитированием
Старый 28.02.2012, 12:38   #15
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
По умолчанию

Код:
var x = '<td class="Bold nowrap" align="right"><a href="/system/id?1" title="Экспресс-выписка">1000.00</a>';
var z = /<td class=.*?>[.\d]+(?=<\/a>)/i;

alert( z.exec( x ) );
Из той же оперы Повторюсь в пятый раз: мое условие (т.е. <td class="Bold nowrap" align="right">.*?>) - ВАЖНО. Это в топике я Вам дал для примера одну строку, повторив несколько раз, что мое первичное условие нельзя ничем заменять ибо оно выполняет идентифицирующую задачу, наивно полагая, что меня кто-то услышит... Хорошо, пуступим иначе, выложим полный вариант, а то я с ума нафиг сойду:
Код:
	<tr>
		<td style="width: 45px"></td>
		<td class="Bold"><a href="Account.aspx?accountid=3095280&amp;systemid=ssIrbis" title='информация по счету и выписки'>Текущий</a><br/><small class="Gray" style="font-weight:normal">основной</small></td>
		<td class="number nowrap">2000.0</td>
		<td class="Bold nowrap" align="right"><a href="/WebNew/Accounts/Status.aspx?fast=1&amp;accountid=3095280&amp;systemid=ssIrbis" title='Экспресс-выписка'>1000.00</td>
		<td class="Bold">RUR</td>
	</tr>
Все ещё надеюсь быть услышенным..

Последний раз редактировалось WennY; 28.02.2012 в 12:49.
WennY вне форума   Ответить с цитированием
Старый 28.02.2012, 12:56   #16
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
По умолчанию

В любом случае спасибо Вам за ваши варианты решения проблемы, их тоже можно адаптировать под мой пример, но на самом деле я уже просто хочу понять, почему не работает мое выражение, оно не может быть не рабочим. Почему не сохраняет? Мне интересно уже больше в образовательных целях, я реплейсом давно решил мою задачу, но Вы мне все наровите воткнуть свой вариант, который, несомненно, работает, но не объясняет, почему на эту роль не сгодился изначальный, т.е. мой вариант. Спс

Последний раз редактировалось WennY; 28.02.2012 в 12:58.
WennY вне форума   Ответить с цитированием
Старый 28.02.2012, 14:34   #17
nerv
Форумчанин
 
Аватар для nerv
 
Регистрация: 26.04.2010
Сообщений: 450
По умолчанию

WennY, вообще-то так не делают.

Код:
<!DOCTYPE HTML>
<html>
 <head>
  <meta charset="utf-8">  
 </head>

 <body>
 
  <table>
   <tr>
    <td style="width: 45px"></td>
    <td class="Bold"><a href="Account.aspx?accountid=3095280&amp;systemid=ssIrbis" title='информация по счету и выписки'>Текущий</a><br/><small class="Gray" style="font-weight:normal">основной</small></td>
    <td class="number nowrap">2000.0</td>
    <td class="Bold nowrap" align="right"><a href="/WebNew/Accounts/Status.aspx?fast=1&amp;accountid=3095280&amp;systemid=ssIrbis" title='Экспресс-выписка'>1000.00</a></td>
    <td class="Bold">RUR</td>
   </tr>
  </table>
 
  <script>
   (function() {
    var elems = document.getElementsByTagName( 'td' ), i = elems.length, re = /[.\d]+(?=<\/a>)/i;
    while( --i >= 0 ) {
     if ( elems[ i ].className === 'Bold nowrap' ) {
      alert( re.exec( elems[ i ].innerHTML ) );
     }
    }
   })();
  </script>

 </body>
</html>
Тишина – самый громкий звук
nerv вне форума   Ответить с цитированием
Старый 28.02.2012, 16:16   #18
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

А вы можете пояснить своими словами, каким образом вы пытаетесь составить регулярку? Каким образом вы ищете нужное число? Может, тогда и станет понятно, почему не работает?
motorway вне форума   Ответить с цитированием
Старый 28.02.2012, 18:45   #19
WennY
Форумчанин
 
Регистрация: 17.01.2008
Сообщений: 236
По умолчанию

nerv, все же никто меня не услышал, печально...

motorway, самый первый пост не поленитесь прочесть Там все подробно изложено, с примерами и реализацией. Если Вы настолько не разбираетесь в регулярных выражениях, что Вам нужно разжевывать каждую инструкцию, то я затрудняюсь определить смысл Вашего пребывания в этом топике.

Может я выражаюсь как-то не так, может сообщения мои слишком мелким шрифтом отображаются на экране тут отсписывающихся, но - по судя по всему - шансов получить ответ на вопрос "что я сделал не так в моем выражении, а не в способе реализации и методе получения нужного куска кода", видно, ничтожно мало.. Может, во мне что-то, может, мои сообщения решили просто тупо не читать, но суть не меняется. Поэтому, вопрос с повестки снимаю. Не вижу смысла тратить свое и чужое время. Спасибо всем не равнодушным, но немножко не внимательным "советерам". Благодарю за внимание

Последний раз редактировалось WennY; 28.02.2012 в 19:03.
WennY вне форума   Ответить с цитированием
Старый 28.02.2012, 19:36   #20
motorway
Участник клуба
 
Регистрация: 28.06.2009
Сообщений: 1,950
По умолчанию

Собственно, почему неправильно - может быть тоже много толкований, так как составляя код, вы могли иметь в виду много способов, предполагая, что они будут работать.
Я хоть и не занимался регулярками сильно, но просто за счёт общего опыта и частой встречи с этой темой примерно представлял уже, что они из себя представляют. В частности, насколько я понимаю, если в шаблон у вас вставлено
Код:
<td class="Bold nowrap" align="right">
, то это и появится в результате. Ведь ищутся совпадения с шаблоном. Почему вы тогда ожидаете, что там этого не будет?
В общем, это мне так кажется, что проблема в этом. Может, есть профессионалы в них, которые сразу видят, что тут не так, но на первый взгляд именно это
motorway вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Чет не получается c Case of... Володян Паскаль, Turbo Pascal, PascalABC.NET 2 18.05.2011 21:45
Чет не получается c Case of... Володян Помощь студентам 4 18.05.2011 21:06
Вектор. чет/нечет+фибоначи Март Помощь студентам 1 20.11.2010 18:50
чет\нечет Михаил2261 Microsoft Office Excel 10 30.06.2010 16:26


00:44.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.