Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помогите с "регуляркой". (https://javascript.ru/forum/misc/42274-pomogite-s-regulyarkojj.html)

dima*** 20.10.2013 13:09

Помогите с "регуляркой".
 
Помогите с "регуляркой".
Есть текст:
ФК «Татарка Нижняя» - ФК «Татарка Верхняя» 6-1, 3-1
«Факел» пос.Цимлянский - «Нива» с.Казинка 2-2, 0-3
ФК «Верхнерусское» - ФК «Надежда» 3-5, 11-1
«ЗАО Верхнедубовское» - ФК «Сенгилеевское» 0-3, 0-3
ФК «Михайловск-ДЮСШ» - ФК «Пелагиада» 7-0, 2-2


Нужно,чтобы получилось:
ФК «Татарка Нижняя»,ФК «Татарка Верхняя»,6,1,3,1,
«Факел» пос.Цимлянский,«Нива» с.Казинка,2,2,0,3,
ФК «Верхнерусское»,ФК «Надежда»,3,5,11,1,
«ЗАО Верхнедубовское»,ФК «Сенгилеевское»,0,3,0,3,
ФК «Михайловск-ДЮСШ» - ФК «Пелагиада»,7,0,2,2

<!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'>
ФК «Татарка Нижняя» - ФК «Татарка Верхняя»                   6-1, 3-1
 «Факел» пос.Цимлянский - «Нива» с.Казинка                      2-2, 0-3
 ФК «Верхнерусское» - ФК «Надежда»                                3-5, 11-1 
 «ЗАО Верхнедубовское» -  ФК «Сенгилеевское»                 0-3, 0-3
 ФК «Михайловск-ДЮСШ» - ФК «Пелагиада»                        7-0, 2-2
 «Луч» пос.Демино - выходной	
</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');
b=a.split(/\n/ig);
for(i=0;i<length;i++){

rega=/(«.+»\s\(.+\)|«.+»)\s(((\d+|\+|\-)\:(\d+|\+|\-))|\–)\s(«.+»\s\(.+\)|«.+»)\n/ig;
b[i]=b[i].match(rega);
console.log(b[i]+'<br>);
document.write(b[i]+'<br>);
</script>
</body>
</html>

Deff 20.10.2013 16:30

<p style='display:none'>ФК «Татарка Нижняя» - ФК «Татарка Верхняя» 6-1, 3-1
 «Факел» пос.Цимлянский - «Нива» с.Казинка 2-2, 0-3
 ФК «Верхнерусское» - ФК «Надежда» 3-5, 11-1 
 «ЗАО Верхнедубовское» - ФК «Сенгилеевское» 0-3, 0-3
 ФК «Михайловск-ДЮСШ» - ФК «Пелагиада» 7-0, 2-2
</p>
<script>
  var a = document.getElementsByTagName('p')[0].innerHTML;
a = a.replace(/^(.+)\s+-\s+(.*?) (\d.+)$/img,'$1,$2,$3').replace(/,\s+/img,',').split('-').join(',').split(/\s*\n/img).join(',\n');
b=a.split(/\n/ig).join('<br>');
document.write(b);
</script>

dima*** 20.10.2013 22:42

Deff-спасибо!
(.*?)-это место непонятно.Весь смысл вопроса здесь.
Если,можно,объясните,пожал йста.

Aetae 20.10.2013 23:41

Полгода прошло с ваших первых обращений по подобной теме...

Впрочем не мне судить, у самого развития ноль за эти полгода.

dima*** 20.10.2013 23:50

Aetae,вы верно подметили...:)

Deff 21.10.2013 01:00

Цитата:

Сообщение от dima***
(.*?)-это место непонятно.Весь смысл вопроса здесь.

Там так |(.*?) (\d.| запоминаем любые символы до первого пробела + цифра,
а конкретно, к примеру, - для первой строки это: «Татарка Верхняя»

dima*** 21.10.2013 09:38

Это понятно ,что от пробела до цифры.
Я про '*?'-нежадное повторение.Всё,уже разобрался.
Ещё раз большое спасибо.


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