Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите разобраться в многострочном режиме (https://javascript.ru/forum/misc/45594-pomogite-razobratsya-v-mnogostrochnom-rezhime.html)

dima*** 07.03.2014 10:10

Помогите разобраться в многострочном режиме
 
Помогите разобраться в многострочном режиме.
Как мне сделать чтобы вышло:
I тур
II тур
III тур

Такая регулярка не устраивает pat=/[IVX]+\s*тур/img;
Хотелось бы pat= /^.*тур$/img
[html]
<html>
<head>
<title>Документ без названия</title>
<meta charset="utf-8">
</head>
<body>
<pre 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


</pre>

<script>

var a=document.getElementsByTagName('pre')[0].innerHTML;
reg2=/\d+\.\s(.+)\s\-\s(.*?)\s{2,}(\d\-\d|[а-я]+)/img;
b=a.replace(reg2,'$1,$2,$3').replace(/(\d)\-(\d)/img,'$1,$2');

c=b.match(/^.*тур$/img);//Что-то похожее //http:learn.javascript.ru/regexp-specials
for(i=0;i<c.length;i++){
document.write(c[i]+'<br>');
console.log(c[i]+'<br>');
}
</script>
</body>
</html>
/[html]

ksa 07.03.2014 10:22

Цитата:

Сообщение от dima***
Как мне сделать чтобы вышло:
I тур
II тур 
III тур

Как вариант...

<pre id='text' 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
</pre>
<script type='text/javascript'>
var str=document.getElementById('text').innerHTML;
alert(str.match(/I{1,3}[^\n]*/g));
</script>

ksa 07.03.2014 10:24

dima***, завязывай с текстами. :D Начинай работать с нормальными данными...

dima*** 07.03.2014 10:29

кса,спасибо.
Чуть-чуть не то нужно-плохо объяснил.
Нужно,чтобы в регулярке было:
1.начало строки
2.какой-то текст(/.*/)
3.тур
4.конец строки

dima*** 07.03.2014 10:32

ksa,
А чем это ненормальные данные?Я одному человеку помогаю,там только такие данные. Это нужно для расчётов.

ksa 07.03.2014 10:48

Цитата:

Сообщение от dima***
А чем это ненормальные данные?

Это вообще не данные... Это какой-то копипаст. :D

ksa 07.03.2014 10:49

Цитата:

Сообщение от dima***
плохо объяснил.
Нужно,чтобы в регулярке было:
1.начало строки
2.какой-то текст(/.*/)
3.тур
4.конец строки

Это типа теперь понятно объяснил? :D

dima*** 07.03.2014 23:34

ksa,
:yes:

Deff 08.03.2014 02:16

dima***,
Для целиком понятности лучше привести примеры нескольких вариантов входного текста *желательно минимального, но 3- 5 вариантов и вид выходного, + попытка пояснить словами
Если есть то и то и свое решения для парочки


Часовой пояс GMT +3, время: 22:50.