Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.04.2013, 09:46
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Подскажите,пожалуйста,поче му не работает,в этом месте
Подскажите,пожалуйста,поче му не работает,в этом месте:

var reguha=/([А-Яа-я]+)([А-Яа-я]+|\d+)(\d)([А-Яа-я]+|\d+)/;
if(b1[i][0][k][1]==Number){
b1[i][0][k][l]=b1[i][0][k][l].replace(reguha,'$1,$4,$2,$3');
}


Вот весь код:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
	<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Документ без названия</title>
	</head>
	
    <body>
	<p style='display:none'>
• Родник - Низам 1:1 
 Горец - Авангард 3:1 
 Гумс - Берд 2:0 
 Вайнах - Динамо 2:1 
 Лидер - Автуры 3:1 
 Оскар - Мартан 2:0 
 Марта - Даймохк 1:2 
 ЧГУ - Терек 3:1 19.04.13 00:11 Nohcho Правка ip inf   

• Родник 1 - 1 Низам 
 Горец 2 - 1 Авангард 
 Гумс 2 - 0 Берд 
 Вайнах 2 - 2 Динамо 
 Лидер 4 - 0 Автуры
 Оскар 3 - 0 Мартан 
 Марта 1 - 2 Даймохк 
 ЧГУ 1 - 2 ТЕРЕК 19.04.13 00:17 Турпал-Али Правка ip inf   

• Родник 1-2 Низам 
 Горец 2-0 Авангард 
 Гумс 2-1 Берд 
 Вайнах 3-1 Динамо 
 Лидер 4-0 Автуры 
 Оскар 0-0 Мартан 
 Марта 1-2 Даймохк 
 ЧГУ 4-1 Терек 19.04.13 00:18 Beck-77 Правка ip inf  
	</p>
	
<script>
   var a1 = document.getElementsByTagName('p')[0].innerHTML;
a1 = a1.replace(/^\s*?\n\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');
	
var b1=a1.split(/\sПравка\sip\sinf/); 

for (var i=0;i<b1.length-1; i++){

	b1[i]= b1[i].split(/\d{2}\.\d{2}\.\d{2}\s\d{2}\:\d{2}\s/); 

document.write('<br>' + b1[i][1]+ ':'+'<br>');

	for (var j=0;j<b1[i].length; j++){
	
	b1[i][0]=b1[i][0].split(/\n/);

	for (var k =0; k < b1[i][0].length; k++){

var rega = /\d|[А-Яа-я]+/ig;

 b1[i][0][k]=b1[i][0][k].match(rega);

if (b1[i][0][k] != null){

for (var l =0; l< b1[i][0][k].length ;l++){
 //b1[i][0][k][l].join(',') ;

var reguha=/([А-Яа-я]+)([А-Яа-я]+|\d+)(\d)([А-Яа-я]+|\d+)/;
if(b1[i][0][k][1]==Number){
b1[i][0][k][l]=b1[i][0][k][l].replace(reguha,'$1,$4,$2,$3');
}

document.write(b1[i][0][k][l]);
}}}}

</script>
</body>
</html>

Последний раз редактировалось dima***, 26.04.2013 в 09:59.
Ответить с цитированием
  #2 (permalink)  
Старый 26.04.2013, 10:57
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от dima*** Посмотреть сообщение
Подскажите,пожалуйста,поче му не работает,в этом месте:

var reguha=/([А-Яа-я]+)([А-Яа-я]+|\d+)(\d)([А-Яа-я]+|\d+)/;
if(b1[i][0][k][1]==Number){
b1[i][0][k][l]=b1[i][0][k][l].replace(reguha,'$1,$4,$2,$3');
}
Весь код не читал, только это место.
Но регуха у вас какая-то неправильная. Для начала, первый скобочки (там есть плючик) съедают все доступные буквы, а значит буквы во вторых скобочках бессмысленны, они сматчится никогда не могут.
var reguha=/([А-Яа-я]+)([А-Яа-я]+|\d+)(\d)([А-Яа-я]+|\d+)/;
//          ^ съедают ^ ^ бессм ^


Дальше, оставшаяся часть вторых скобок съедает все доступные цифры, значит третьи скобки сматчится никогда не могут, а значит и все выражение никогда не сматчится:
var reguha=/([А-Яа-я]+)([А-Яа-я]+|\d+)(\d)([А-Яа-я]+|\d+)/;
//                               ^съе^ ^^^
Ответить с цитированием
  #3 (permalink)  
Старый 26.04.2013, 14:07
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,232

Сообщение от dima***
поче му не работает,в этом месте
(многабукаф)
А что вообще хотел сделать?
Ответить с цитированием
  #4 (permalink)  
Старый 26.04.2013, 17:20
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

rgl-спасибо.

А как же сделать,чтобы сначала слова,а потом цифры?
Т.е.

Родник,Низам,1,1
Горец,Авангард,3,1
...
ЧГУ,Терек,3,1

Родник,Низам,1,1
Горец,Авангард,2,1
...
ЧГУ,Терек,1,2

Родник,Низам,1,2
Горец,Авангард,2,0
...
ЧГУ,Терек,4,1
Ответить с цитированием
  #5 (permalink)  
Старый 26.04.2013, 18:32
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Так, что ли?
function cifryVKonec( s ) {
  var reguha = /([A-Za-z]+)[^A-Za-z\d]+([A-Za-z]+|\d+)[^A-Za-z\d]+([A-Za-z]+|\d+)[^A-Za-z\d]+([A-Za-z]+|\d+)/;
  //                       ^^^^^^^это три раза^^^^^^^^
  return s.replace( reguha, function( a, b, c, d, e ) {
    if( /\d/.test( c ) && /\d/.test( d ) && ! /\d/.test( e ) )
      return [b,e,c,d].join(",");
    if( !/\d/.test( c ) && /\d/.test( d ) && /\d/.test( e ) )
      return [b,c,d,e].join(",");
    // else
      return a;
  } );
}
alert( cifryVKonec( "skadjflas - alsdfa, 5:8" ) );
alert( cifryVKonec( "sldfls 7 - 8 ldsfjkglsdf" ) );

(только буквы в регухе замените на русские)
Ответить с цитированием
  #6 (permalink)  
Старый 27.04.2013, 09:10
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

rgl-спасибо!
В ваше коде понятно.А в моём случае непонятно.Я выложил часть кода.А так там есть вариант Родник1-1Низам,т.е слитно.Там 40 различных вариантов.
Поэтому,
var rega = /\d|[А-Яа-я]+/ig;-лучше оставить.И отдельно reguha сделать.
Ответить с цитированием
  #7 (permalink)  
Старый 27.04.2013, 10:27
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от dima***
[А-Яа-я]
да откудаж, вы все, этот шаблон выскребаете?
Сотни раз уже было, что в последовательность для русских ё не попадает
Ответить с цитированием
  #8 (permalink)  
Старый 27.04.2013, 10:34
Профессор
Отправить личное сообщение для dima*** Посмотреть профиль Найти все сообщения от dima***
 
Регистрация: 13.12.2012
Сообщений: 283

Сообщение от dmitriymar Посмотреть сообщение
да откудаж, вы все, этот шаблон выскребаете?
Сотни раз уже было, что в последовательность для русских ё не попадает
Да,это понятно,что нужно писать [А-Яа-яЁё].Просто в данном случае буквы "ё" не присутствует,поэтому достаточно [А-Яа-я].

А как,насчёт,помочь?
Ответить с цитированием
  #9 (permalink)  
Старый 27.04.2013, 12:23
х.з
Посмотреть профиль Найти все сообщения от dmitriymar
 
Регистрация: 21.11.2010
Сообщений: 4,588

Сообщение от dima***
А как,насчёт,помочь?
тебе уже rgl, помог
Ответить с цитированием
  #10 (permalink)  
Старый 27.04.2013, 17:10
Аватар для rgl
rgl rgl вне форума
Профессор
Отправить личное сообщение для rgl Посмотреть профиль Найти все сообщения от rgl
 
Регистрация: 28.02.2011
Сообщений: 349

Сообщение от dima*** Посмотреть сообщение
А так там есть вариант Родник1-1Низам,т.е слитно.
Ну так плюсики на звездочки заменить где надо
function cifryVKonec( s ) {
  var reguha = /([A-Za-z]+)[^A-Za-z\d]*([A-Za-z]+|\d+)[^A-Za-z\d]*([A-Za-z]+|\d+)[^A-Za-z\d]*([A-Za-z]+|\d+)/;
  //                       ^^^^^^^это три раза^^^^^^^^
  return s.replace( reguha, function( a, b, c, d, e ) {
    if( /\d/.test( c ) && /\d/.test( d ) && ! /\d/.test( e ) )
      return [b,e,c,d].join(",");
    if( !/\d/.test( c ) && /\d/.test( d ) && /\d/.test( e ) )
      return [b,c,d,e].join(",");
    // else
      return a;
  } );
}
alert( cifryVKonec( "skadjflas - alsdfa, 5:8" ) );
alert( cifryVKonec( "sldfls 7 - 8 ldsfjkglsdf" ) );
alert( cifryVKonec( "rodnik1 - 1nizam" ) );
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике в любом месте документа должен удаляться определенный id DorianLeroy jQuery 2 24.12.2011 22:05
$.ajax работает без success но при этом часть кода перезагружается!? saturn Элементы интерфейса 0 16.10.2011 10:09
Drop down, сокрытие по клику в другом месте Logo Общие вопросы Javascript 2 08.11.2010 14:23
вывести текст на месте вызова скрипта yadino Общие вопросы Javascript 29 25.06.2010 10:33
JS-скрипт для вывода результата работы PHP-скрипта в заданном месте страницы Tycoon AJAX и COMET 0 06.11.2009 10:18