2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234

Пропустить все символы пока не встретится слово

01.03.2015, 11:07. Показов 6556. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день господа. Учусь регуляркам и пробую парсить html. Но вот возникла проблема, как мне пропускать слово целиком. Допустим имею html код:
HTML5
1
<div class="class">text<div>bla bla text</div><a href="url">link</a></div>
Ну в реальности все сложней, в общем не нужно выбрать допустим текст, потом пропустить всё пока не встречу первую href взять из неё url, потом допустим опять до какой-то условной фразы все пропустить. Возможно я туплю на ровном месте, но не пойму как это делается.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
01.03.2015, 11:07
Ответы с готовыми решениями:

В промежутке между символами с номерами от P1 до P2 удалить все символы, пока не встретится символ S2
Помогите с заданием, пожалуйста! Даны строка S1 и два числа P1 и P2 (P1 и P2 меньше длины строки). В промежутке между символами с...

С клавиатуры вводятся символы, пока не встретится точка
С клавиатуры вводятся символы, пока не встретится точка или количество введенных символов превысит 79. Вывести на печать общее количество...

Написать класс. Ввод строк с консоли пока не встретится слово end
Добрый вечер. Помогите пожалуйста с задачей. Написать класс, в котором как поле объявлен массив строк. Вводим количество строк с...

7
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
01.03.2015, 11:12
Austerus,
PHP
1
2
3
4
<?php
$s = '<div class="class">text<div>bla bla text</div><a href="url">link</a></div>';
preg_match("/<a href=\"([^\"]+)\">/", $s, $m);
echo $m[1];
результат
Code
1
url
0
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
01.03.2015, 11:25  [ТС]
не вот
PHP
1
([^\"]+
вот так я умею делать, а мне нужно именно пропустить все до href, т.е. если строка не будет соответствовать шаблону
HTML5
1
<div class="class">[\w]*<div>[\w]*</div><a href="url">link</a></div>
, то результатом это являться не будет.

Добавлено через 2 минуты
только там ещё всякие символы переноса же между тегами и прочее может быть вот я о чем, т.е. мне все равно что там? но мне нужно именно с этих блоков брать начиная с блока с классом "class" найти первую ссылку href
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
01.03.2015, 15:50
PHP
1
'~<div class="class">.*?<a.*?href="([^"]*?)"~is'
?
0
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
01.03.2015, 16:18  [ТС]
объясните пожалуйста значение ".*?" и "is", все работает, но я не совсем понимаю как.
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
01.03.2015, 16:34
Лучший ответ Сообщение было отмечено Austerus как решение

Решение

. - любой символ (по умолчанию - за исключением символов перевода строки)
* - любое количество раз (0 и более)
? после звездочки - чтобы убрать жадность (что это такое, можете посмотреть на википедии)

Т.е., .*? - любой символ любое количество раз, не жадным поиском (не захватывая весь текст до конца)

i - ignoreCase, регистронезависимый поиск
s - для того, чтобы "." захватывало также и переводы строк.
1
2 / 2 / 0
Регистрация: 24.03.2011
Сообщений: 234
01.03.2015, 17:02  [ТС]
Большое спасибо
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
01.03.2015, 17:12
Пожалуйста
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.03.2015, 17:12
Помогаю со студенческими работами здесь

Напишите программу, которая читает входные символы до тех пор, пока не встретится символ #
Здравствуйте помогите решить задачу. Напишите программу ,которая читает входные символы до тех пор,пока не встретиться символ...

С клавиатуры вводятся символы, пока не встретится знак "?"
Добрый день, подскажите, пожалуйста. Такая задача. Требуется - вводить символы до тех пор, пока не встретится знак &quot;?&quot; или...

Пропустить все напечатанные символы
Я scanf-ом считываю число, затем, если считанное число не из нужного диапазона, программа через некоторое время опять вызывает эту функцию....

Как пропустить все символы до конца строки?
Проблема в том,что я считываю командой fgets максимум 1000 символов (пишу мини шел), и если на вход подается строчка длиной больше 1000...

Считать в отдельную переменную все цифры идущие подряд после символа _ , пока не встретится символ не являющийся числом
на php Допустим дана строка: aeg28491_30481?353 как мне считать в отдельную переменную все цифры идущие подряд после символа _ , пока...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru