ZennoScript
Moderator
- Регистрация
- 04.03.2011
- Сообщения
- 4 452
- Реакции
- 1 889
- Баллы
- 113
Скажите, а восклицательный знак какую роль в регулярке играет? Читал книгу по регулярки и что то там не было восклицательного метасимвола)))
Почитайте вот это.
Скажите, а восклицательный знак какую роль в регулярке играет? Читал книгу по регулярки и что то там не было восклицательного метасимвола)))
Находится куча ссылок вместо одной нужно при этом в них нет текста "Контакты", но они все равно находятся...Брать последнее совпадение.Код:(?<=<a href ?= ?").*?(?=".*Контакты)
Ну вы бы для начала протестировали.Ни то что хотелось бы. Нужно написать универсальную регулярку из расчета, что контакты могут быть не последними. А получить регуляркой нужно вот такую конструкцию <a href="/index.php/kontakty" >Контакты</a> или вот такую <a href="/index.php/kontakty" class="menu"><span class="test">Контакты</span></a>
Ну вы бы для начала протестировали.
Вот это я и имел ввиду проверить.Это первое, что я сделал, когда увидел ваш пост)))
Проблема в том, что если бы Контакты находились в середине то "Брать последнее совпадение", как вы написали, не помогло бы решить задачу)
Вот это я и имел ввиду проверить.
Абсолютно без разницы в каком месте кода находится ссылка на контакты - при парсинге этой регуляркой, нужная ссылка всегда будет последним результатом.
Вот это я и имел ввиду проверить.
Абсолютно без разницы в каком месте кода находится ссылка на контакты - при парсинге этой регуляркой, нужная ссылка всегда будет последним результатом.
А можно вашу регулярку еще немного улучшить, чтобы она справлялась и с таким вариантом? (пробовал свои варианты, но безрезультатно)
(?<=<a href ?= ?").*?(?="[\w\W]*Контакты)
Код:(?<=<a href ?= ?").*?(?="[\w\W]*Контакты)
Заменить \(|\) или [\(\)]+ на пустотуКак регуляркой убрать все скобки (и открывающие "(" и закрывающие ")") одним экшеном замены. Я сколько пробовал, никак не получается.
Скобки нужно экранировать символом "\". Ну и пробелы можно.Постоянно встречаю текст со скобками и все время из-за них вылазят ошибки в тексте при поиске одного текста среди другого. Есть ли способ как-то искать текст со скобкой среди другого выражения при помощи регулярных выражений, например "3 (n)" среди текста "12sadas23 (n) - 456sdsas3 (t)"?
3\ \(n\)
А если у меня каждый раз разный текст (миллионы вариантов расположения скобок) и может быть скобка и может её не быть, в разном месте бывают скобки, то есть ли возможность использовать регулярные выражения, чтобы проверить наличие текста. А то я пользуюсь заменой скобки на пустоту, но получается в итоге не слишком удобный для меня вариант в плане дальнейший действий.Скобки нужно экранировать символом "\". Ну и пробелы можно.
Код:3\ \(n\)
^( ?[^ ]+){10}
планшет acer aspire switch 10 special sw5 015 nt g58er 001
\b\w+\bстарик., выручи очередной раз!!
есть регулярка для разбивки на количество слова есть предложение которое она не разбиваетКод:^( ?[^ ]+){10}я так подозреваю что из-за цифр и одиночных символов. только адвордс это один хер считает за предложение. выручи, а?))Код:планшет acer aspire switch 10 special sw5 015 nt g58er 001
а что делает ваша регулярка? у меня ею остается только первое слово, мне нужно первые 10\b\w+\b
или
\b[^\W\d]+\b
Это не влияет. Скорее всего, где-то в строке вместо пробелов встречаются другие пробельные символы.я так подозреваю что из-за цифр и одиночных символов.
^(\s?[^\s]+){10}
те же яйца, только в профиль)) что интересно при пошаговой отладке все нормально режет. походу бажится зенька))Это не влияет. Скорее всего, где-то в строке вместо пробелов встречаются другие пробельные символы.
Попробуй такКод:^(\s?[^\s]+){10}
я неправильно понял. думал, нужно разбить на словаа что делает ваша регулярка? у меня ею остается только первое слово, мне нужно первые 10
у меня нет никакого пути к файлу, и имени файла, файла даже нет. У меня есть только ссылка.гугл помагает как взять имя файла, тип файла, путь км файлу,т зачем тему писать в разных ветках, неужели т рудно один раз в поиск забить
Спасибо, но это не совсем то. Попробовал предложенный вами вариант. Из строки:<noindex>.*(РИА\ Новости|Новости\ Яндекс|ТАСС)[\w\W]*?</noindex>
А вообще надо контекст смотреть.


