Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Исключение слов целиком в регулярках / 18 сообщений из 18, страница 1 из 1
12.09.2012, 17:45:23
    #37954826
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Подскажите, как исключить целое слово, вот так не работает
[^(?:целое слово)]
...
Рейтинг: 0 / 0
12.09.2012, 17:49:19
    #37954835
Anjey aka PM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
max112,

Полностью вопрос можно а не его вырожденное представление полученное потем реализации ваших предположений?
Может там вообще не так делать надо
...
Рейтинг: 0 / 0
12.09.2012, 17:50:53
    #37954843
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
max112,
Код: php
1.
"/(?:целое слово)/"
...
Рейтинг: 0 / 0
12.09.2012, 17:57:15
    #37954853
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Вообще задача такого плана: надо выбрать из html файлов участки текста определенной длинны внутри дивов, я пробую искать этот текст исключая при этом тэги, которых не должно быть внутри дивов.

Тут неправильно, но задача понятна:
<div*[^(?:<p>)]{122,1013}.*</div>*
...
Рейтинг: 0 / 0
12.09.2012, 18:30:28
    #37954897
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Код: php
1.
(?!целое слово)
...
Рейтинг: 0 / 0
12.09.2012, 18:31:04
    #37954899
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
"/(?:целое слово)/" тоже не работает, во всяком случае в regex тестере
...
Рейтинг: 0 / 0
12.09.2012, 18:31:29
    #37954900
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
max112"/(?:целое слово)/" тоже не работает, во всяком случае в regex тестере
Это не исключение потому что)
...
Рейтинг: 0 / 0
12.09.2012, 18:41:36
    #37954923
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Hett
Код: php
1.
(?!целое слово)



Вот так работает <div*(?=.{22,101332})(?!.*<p>).*</div>* но только одну строку просматривает почему-то.
...
Рейтинг: 0 / 0
12.09.2012, 18:56:57
    #37954959
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
в группу . не входит символ перевода строки.
Используйте модификатор s
...
Рейтинг: 0 / 0
12.09.2012, 19:18:42
    #37954994
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Спасибо.

А если пробовать внутри "<div>...</div>" исключить вложенный "<div>", то нужен какой-то другой подход? Как я понимаю, он сразу же о первый "<div>" и спотыкается. Пробовал что-то придумывать с рекурсией, но её вообще непонятно как использовать.
...
Рейтинг: 0 / 0
12.09.2012, 19:33:31
    #37955009
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
покажите конкретный пример данных и что требуется отматчить
...
Рейтинг: 0 / 0
12.09.2012, 20:35:16
    #37955045
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Примерно такой код. Верстка часто различается, постоянно только то, что это крайний вложенный div и то, что внутри него длинна колеблется в определенном уникальном диапазоне:

авторpage1:
<div id="head">
<div>
<div class="phone">(347) 100-200<br></div>
</div>
</div>

page2:
<div id="head">
<div>
<div class="second_phone"> 2-300-300</div>
</div>
</div>

page3:
<div id="head">
<div class="my_mob"> 2-300300</div>
</div>
...
Рейтинг: 0 / 0
12.09.2012, 20:37:32
    #37955047
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
В примере только цифры внутри, но это не обязательно так.
...
Рейтинг: 0 / 0
12.09.2012, 20:56:23
    #37955072
Hett
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Код: php
1.
#<div id="head">\s*<div.*class="(?:phone|second_phone|my_mob)".*>(.*)<#


Может как-то так?
Если форматы задаются не человеком, то можно на основе форматов телефона составить регулярку.
...
Рейтинг: 0 / 0
12.09.2012, 21:45:44
    #37955109
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Человеком, могут быть и буквы. Идеально было бы найти крайний див и посчитать там символы.
...
Рейтинг: 0 / 0
12.09.2012, 21:51:19
    #37955113
Usman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
max112,

Код: 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.
	$in = array(
'page1:
<div id="head">
<div>
<div class="phone">(347) 100-200<br></div>
</div>
</div>'
,
'page2:
<div id="head">
<div>
<div class="second_phone"> 2-300-300</div>
</div>
</div>'
,
'page3:
<div id="head">
<div class="my_mob"> 2-300300</div>
</div>'
	);

	foreach ($in as $v) {
		$doc = new DOMDocument();
		$doc->loadHTML($v);
		foreach ($doc->getElementsByTagName('div') as $div) {
			foreach ($div->childNodes as $child) {
				if ($child->hasChildNodes() && $child->hasAttributes())
					echo trim($child->textContent), PHP_EOL;
			}
		}
	}
?>
...
Рейтинг: 0 / 0
12.09.2012, 22:02:39
    #37955125
Anjey aka PM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
во-во, DOM парсер тут нужен
...
Рейтинг: 0 / 0
12.09.2012, 22:10:10
    #37955134
max112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Исключение слов целиком в регулярках
Usman, спасибо.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Исключение слов целиком в регулярках / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]