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

помогите с регуляркой
Программа


<html>
<head>
<title>Документ без названия</title>
<meta charset="utf-8">
</head>
<body>
<p style ='display:none'>
I тур
26 апреля 2013 г.
1. Круглолесское - Средний              перенос
27 апреля 2013 г.
2. Ветераны футбола - Саблинское    на КДК 
3. Новокавказский - АСХК                   3-0
26 апреля 2013 г.
4. Ал. ДЮСШ - Калиновское                 7-2
 
II тур 
3 мая 2013 г.
1. Средний - Калиновское                    4-1
2. Новокавказский - Ал. ДЮСШ             4-4
3. АСХК - Саблинское                          4-8
4. Круглолесское - Ветераны футбола   0-3
 
III тур 
8 мая 2013 г.
1. Ветераны футбола - Средний           4-2
22 мая 2013 г.
2. АСХК - Круглолесское (зап. поле)
3. Саблинское- Ал. ДЮСШ (ос.поле)
8 мая 2013 г.
4. Калиновское - Новокавказский        0-9
 

</p>

<script>

var a=document.getElementsByTagName('p')[0].innerHTML;
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');
//a=a.replace(/(\n\s*\n)|(\n)/img,'<br>');

reg0=/[IVX]+\s*тур/img;
reg1=/\d+\s*[а-я]+\s*\d*\s*г\./img;
reg2=/\d+\.\s(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)/img;


b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');
b=b.split(/\n/);
//.join('<br>');					
for (var i=0; i<b.length; i++) {
if(b[i].indexOf(',')>0){
document.write(b[i]+'<br>');
}
else if(/[IVX]+\s*тур/.test(b[i])){
document.write(b[i]+'<br>');
}
else if(/\d+\s*[а-я]+\s*\d*\s*г/.test(b[i])){
document.write(b[i]+'<br>');
}
else{
document.write('<span style="color: #FF0000;">' + b[i] + '</span>'+'<br>');
}
}
document.write('<br>');
document.write('<br>');


b=b.join('<br>');

c=b.split(reg0).join(',');//Удаляем "тур"
c=c.split(reg1).join(',');//Удаляем "дата"
c=c.split('<br>');


d=[];//Удаляем "запятые"
for (var i=0; i<c.length; i++) {
if(c[i]!=',') {
  d.push(c[i])
}}


for (var i=0; i<d.length; i++) {
d[i]=d[i].split(',',2);

}


/*
e=[];

function zap(c){
return c!=',';
}

e=c.filter(zap);
document.write(e);
*/


function unique(arr) {
  var obj = {};
  for(var i=0; i<arr.length; i++) {
for(var j=0; j<arr.length; j++) {
    var str = arr[i][j];
    obj[str] = true; // запомнить строку в виде свойства объекта
  }}
 return Object.keys(obj); // или собрать ключи перебором для IE<9

}

k=unique(d);

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

document.write(i+1+".  "+k[i]+'<br>');
console.log(i+1+".  "+k[i]+'<br>');
}

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


Просто убивает:
a=a.replace(/^\s*?\n+\s*|\s*?\n\s*$/img,'').split(/\s*\n\s*/).join('\n');

Ruslan_xDD-А чем pre не угодил?
Что делаю не так?


Мне,просто очень нужно поменять reg0 c reg0=/[IVX]+\s*тур/img;
на reg0=/^.*тур.*$/;
да и reg1 тоже менять нужно...

С <pre> лучше сделать?

Последний раз редактировалось dima***, 04.03.2014 в 20:53.
Ответить с цитированием