Форум программистов, компьютерный форум, киберфорум
PHP: RegExp
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
4 / 4 / 0
Регистрация: 29.01.2019
Сообщений: 155
Записей в блоге: 1
1

Разложить на ?

07.06.2019, 10:02. Показов 894. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Коллеги, здравствуйте!


Гуру RegExp, подскажите, можно ли разобрать текст ниже?

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
Шины Pirelli Formula Ice подходят на авто:
Alfa Romeo
159Показать модификации
2005-2013 1.9 JTDM   2005-2013 1.9 JTS   2005-2013 2.2 JTS   2005-2013 2.4 JTDM   2005-2013 3.2 JTS   
BreraПоказать модификации
2005-2013 2.2 JTS   
Audi
A4Показать модификации
2007-2011 (B8) 1.6   2004-2008 (B7) 1.6 (8E)   2007-2011 (B8) 1.8 Quattro   2004-2008 (B7) 1.8 Quattro (8E)   2007-2011 (B8) 1.8 T (8E) 155 л.с. и выше   2004-2008 (B7) 1.8 T (8E) до 155 л.с.   2004-2008 (B7) 1.8 T Quattro (8E) 155 л.с. и выше   2004-2008 (B7) 1.8 T Quattro (8E) до 155 л.с.   2007-2011 (B8) 1.8 T Quattro 155 л.с. и выше   2007-2011 (B8) 1.8 T Quattro до 155 л.с.   2007-2011 (B8) 1.8 T до 155 л.с.   2007-2011 (B8) 1.9   2004-2008 (B7) 1.9 TDI (8E)   2004-2008 (B7) 1.9 TDI Quattro (8E)   2007-2011 (B8) 2.0   2004-2008 (B7) 2.0 (8E)   2007-2011 (B8) 2.0 FSI   2004-2008 (B7) 2.0 FSI (8E)   2007-2011 (B8) 2.0 TDI   2004-2008 (B7) 2.0 TDI (8E)   2007-2011 (B8) 2.0 TDI Quattro   2004-2008 (B7) 2.0 TDI Quattro (8E)   2007-2011 (B8) 2.0 TFSI   2004-2008 (B7) 2.0 TFSI (8E)   2007-2011 (B8) 2.0 TFSI Quattro   2004-2008 (B7) 2.0 TFSI Quattro (8E)   2007-2011 (B8) 2.4   2004-2008 (B7) 2.4 (8E)   2007-2011 (B8) 2.5 TDI   2004-2008 (B7) 2.5 TDI (8E)   2007-2011 (B8) 2.5 TDI Quattro   2004-2008 (B7) 2.5 TDI Quattro (8E)   2007-2011 (B8) 2.7 TDI   2004-2008 (B7) 2.7 TDI (8E)   2007-2011 (B8) 3.0   2004-2008 (B7) 3.0 (8E)   2007-2011 (B8) 3.0 Quattro   2004-2008 (B7) 3.0 Quattro (8E)   2007-2011 (B8) 3.0 TDI Quattro   2004-2008 (B7) 3.0 TDI Quattro (8E)   2007-2011 (B8) 3.2 FSI   2004-2008 (B7) 3.2 FSI (8E)   2007-2011 (B8) 3.2 FSI Quattro   2004-2008 (B7) 3.2 FSI Quattro (8E)   
A6Показать модификации
1997-2004 (4B) 1.8 (C5)   1997-2004 (4B) 1.8 T Quattro (C5)   1997-2004 (4B) 1.8T (C5)   1997-2004 (4B) 1.9 TDI (C5)   1997-2004 (4B) 2.0 (C5)   1997-2004 (4B) 2.4 (C5)   1997-2004 (4B) 2.4 Quattro (C5)   1997-2004 (4B) 2.5 TDI (C5)   1997-2004 (4B) 2.7 Quattro (C5)   1997-2004 (4B) 2.8 (C5)   1997-2004 (4B) 3.0 (C5)   1997-2004 (4B) 3.0 Quattro (C5)   1997-2004 (4B) 3.7 (C5)   1997-2004 (4B) 3.7 Quattro (C5)   1997-2004 (4B) 4.2 Quattro (C5)   
Baic
Senova CCПоказать модификации
2014-2015 1.8 / 2.0   
Senova D60Показать модификации
2014-2015 1.8 / 2.0   
Cadillac
BLSПоказать модификации
2006-2013 2.0   
Changan
RaetonПоказать модификации
2013- 1.8 - 5*108   2013- 1.8 - 5*112   2013- 1.8 - 5*114.3   
Chevrolet
HHRПоказать модификации
2006-2013 2.2   2006-2013 2.4   
Citroen
BerlingoПоказать модификации
2008-2013 1.6 HDi   2008-2013 1.6i   
C-TriompheПоказать модификации
2006-2012 2.0i   
C5Показать модификации
2004-2007 1.6 HDi 110 (R*)   2001-2003 1.8i (D*)   2004-2007 1.8i (R*)   2001-2003 2.0 HDi (D*)   2004-2007 2.0 HDi (R*)   2001-2003 2.0i (D*)   2004-2007 2.0i (R*)   2001-2003 2.2 HDi (D*)   2004-2007 2.2 HDi (R*)   2004-2007 3.0i (R*)   2001-2003 3.0i V6 (D*)   
Grand C4 PicassoПоказать модификации
2006-2013 1.8i   2006-2013 2.0i   
Daewoo
ArcadiaПоказать модификации
1994-1999 3.2i   
Fiat
CromaПоказать модификации
2005-2008 1.8i   2005-2010 2.2   
Ford
C-MaxПоказать модификации
2010-2015 1.6d (DXA)   2010-2015 1.6i (DXA)   2010-2015 2.0d (DXA)   
FocusПоказать модификации
2011- (III) 1.0 EcoBost (DYB)   2011- (III) 1.6 EcoBost (DYB)   2011- (III) 1.6 LPG (DYB)   2011- (III) 1.6 TDCi (DYB)   2011- (III) 1.6 Ti-VCT (DYB)   2011- (III) 2.0 EcoBost (DYB)   2011- (III) 2.0 TDCi (DYB)   
Grand C-MaxПоказать модификации
2010-2013 1.6i / 1.6d / 2.0i (DXA)   
MondeoПоказать модификации
2007-2014 1.6 / 1.8 / 2.0 / 2.2 / 2.5 (BA7)   
Transit ConnectПоказать модификации
2014- 1.5 / 1.6   
Geely
Emgrand 8Показать модификации
2015- 2.0 / 2.4i   
Emgrand EC7Показать модификации
2009- FE1   
Honda
CivicПоказать модификации
2016- (X) 1.5 / 2.0   
Civic 5dПоказать модификации
2017- 1.5   
Infiniti
I SeriesПоказать модификации
2000-2004 3.0L   
Mazda
MPVПоказать модификации
2000-2013 2.3   
Xedos 9Показать модификации
1994-2004 2.0 / 2.3 / 2.5   
Mercedes
E-Klasse (W210)Показать модификации
1995-2002 E200 CDI (W210)   1995-2002 E200i (W210)   1995-2002 E220 CDI (W210)   1995-2002 E220d (W210)   1995-2002 E240i (W210)   1995-2002 E270 CDI (W210)   1995-2002 E280i (W210)   1995-2002 E280i 4MATIC (W210)   1995-2002 E320 CDI (W210)   1995-2002 E320i (W210)   1995-2002 E320i 4MATIC (W210)   1995-2002 E430i (W210)   
Mercury
MilanПоказать модификации
2006-2007 2.3i   
MG
550Показать модификации
2010-2017 1.8i   
6Показать модификации
2010-2017 1.8i   2010-2017 1.9DTi   
750Показать модификации
2010-2017 1.8i Turbo   
Nissan
CedricПоказать модификации
1989-2001 HBY33   
LeopardПоказать модификации
1992-1999 3.0   
Peugeot
408Показать модификации
2012-2015 1.6 HDi (4***)   2012-2015 1.6 THP (4***)   2012-2015 1.6 VTi (4***)   
5008Показать модификации
2009-2016 1.6 / 2.0   
Partner TepeeПоказать модификации
2010-2015 1.6D   2010-2015 1.6i   
Plymouth
AcclaimПоказать модификации
1989-1995 2.2L / 2.5L / 3.0L   
Ram
Promaster CityПоказать модификации
2013- 2.4i   
Renault
Grand ScenicПоказать модификации
2009-2015 1.4 / 1.5 / 1.6 / 1.9 / 2.0   2016- 1.6 / 2.0   
LagunaПоказать модификации
2007-2014 1.5 dCi (T)   2007-2014 1.6i (T)   2007-2014 2.0 dCi (T)   2007-2014 2.0i (T)   2007-2014 2.0i Turbo TCe 170 (T)   
Laguna CoupeПоказать модификации
2012-2015 2.0i TCe 170 (T)   
LatitudeПоказать модификации
2010-2015 2.0i 16v (T)   2010-2015 2.5i V6 (T)   
Roewe
550Показать модификации
2008-2016 1.5   
750Показать модификации
2006-2011 1.8 / 2.5   
Saturn
L-seriesПоказать модификации
2000-2005 3.0i   
Subaru
ForesterПоказать модификации
2002-2007 (SG) 2.0i   2002-2007 (SG) 2.0i Turbo   2002-2007 (SG) 2.5i Turbo   
LegacyПоказать модификации
2009-2014 (BM-BR) 2.0i   
OutbackПоказать модификации
2003-2008 2.0d (BL/BP)   2003-2008 2.5i (BL/BP)   2003-2008 3.0i (BL/BP)   
Volkswagen
MagotanПоказать модификации
2012-2016 1.4 / 1.8 / 2.0 / 3.0   
Volvo
C70 ConvertibleПоказать модификации
2010-2013 2.4   2010-2013 2.5T   
S60Показать модификации
2013- (F) 1.5 / 2.0   2010-2013 (F) 1.6   2010-2013 (F) 2.0   2000-2009 (R) 2.0i / 2.4 / 2.5   2010-2013 (F) 2.4d / 3.0   
S80Показать модификации
2000-2006 2.0T (T/K)   2000-2006 2.4d (T/K)   2000-2006 2.4i (T/K)   2000-2006 2.5d (T/K)   2000-2006 2.5T (T/K)   2000-2006 2.8i (T/K)   2000-2006 2.9i (T/K)   2000-2006 3.0i (T/K)   
V60Показать модификации
2010- (F) 1.6 / 2.0
Это группа
-----------------------------
Volkswagen
Magotan
2012-2016 1.4 / 1.8 / 2.0 / 3.0

Добавлено через 5 минут
Мой дешёвый вариант

(^.*)(?>Показать модификации)(\X(.*))

Добавлено через 7 минут
Ещё вариант
(.*)(\n)(^.*)(?>Показать модификации)(\X(.*)$)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.06.2019, 10:02
Ответы с готовыми решениями:

Разложить вывод программы
Добрый вечер уважаемые коллеги! Пытаюсь разобрать вывод программы по регулярному выражению ...

Следующие формулы разложить по переменной x1, разложить по переменной x2, преобразовать к СДНФ
Следующие формулы 1) разложить по переменной x1, 2) разложить по переменной x2, 3) преобразовать к...

Найти корни полинома. Разложить полином на линейные множители. Разложить полином на множители, неприводимые в R
Полином - x^4-5x^3+8x^2-20x+16. Нашёл все его корни - 1, 4, 2i, -2i. Разложил на линейные множители...

X^15 + 1 разложить
Вот увидел такое и теперь ломаю голову как это вышло:scratch: Расскажите как так получилось....

1
Невнимательный
2604 / 979 / 324
Регистрация: 08.02.2013
Сообщений: 5,748
Записей в блоге: 2
07.06.2019, 15:48 2
Так-то одним выражением можно выдернуть все строки для всех например Audi,
Потом ещё раз делать что-то с этими строками ....в строках типа Audi нет ничего кроме букв и пробелов

или можно построчно проверять несколькими выражениями, и как-то соответственно упаковывать всё это
или одним выражением совпадающим с несколькими вариантами, в цикле
или например не в цикле
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
$txt='Шины Pirelli Formula Ice подходят на авто:
Alfa Romeo
159Показать модификации
2005-2013 1.9 JTDM   2005-2013 1.9 JTS   2005-2013 2.2 JTS   2005-2013 2.4 JTDM   2005-2013 3.2 JTS   
BreraПоказать модификации
2005-2013 2.2 JTS   
Audi
A4Показать модификации
2007-2011 (B8) 1.6   2004-2008 (B7) 1.6 (8E)   2007-2011 (B8) 1.8 Quattro
.......
';   
$arr=array();
function inWhile($m) {
    global $arr;
    static $key;
    static $subkey;
 
    switch(count($m)){
    case 1:
        $arr[$m[0]] = array();
        $key = $m[0]; $subkey='';
    break;
    case 2:
         $subkey=$m[1];
    break;
    case 3:
        if($subkey) $arr[$key][$subkey] = $m[0];
        else $arr['title'] = $m[0];
    }
    return ''; //стирает строку
}
preg_replace_callback('@^[ A-Z_a-z]++(?=\r?\n)|^([^П\r\n]++)Пок.+\r?\n'
    .'|^().+\r?\n@mu', 'inWhile', $txt);
echo '<xmp>';
print_r($arr);
echo '</xmp>';
Построчное чтение, с проверкой каждой строки preg_match() немного упростило-бы выражение, и скорее всего работало-бы шустрее,
0
07.06.2019, 15:48
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.06.2019, 15:48
Помогаю со студенческими работами здесь

Разложить по x1
Необходимо разложить по x1 P.S.Если не тяжело ссылку на теорию ещё дайте Правила форума...

Разложить (2b-y^2 )^5
Разложить (2b-y^2 )^5

разложить по базису
дана система векторов а1,а2,а3,а4,а5,а6, в которой а3=(0,1,1,2), а4=(1,1,1,3), а5=(1,0,-2,-1),...

разложить на множители
научите правильно решать это: Разложить на множители: 1.{(a+b)}^{2}-{(b+c)}^{2}...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru