Автор Тема: Не могу зацепиться  (Прочитано 4279 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн stanlee

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 215
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не могу зацепиться
« : 25 Февраля 2004, 15:14:59 »
в страницу есть такое место
              

пытаюсь зацепиться таким способом
"/>(\\w+)+\\r\\n+[^>]*+<\\/option>/"
мне нужно выцепить то что между

не получается
подскажите плз где ошибка

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не могу зацепиться
« Ответ #1 : 25 Февраля 2004, 15:40:59 »
/(?<=\\>)[^<>]+?(?=<\\/option>)/s
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не могу зацепиться
« Ответ #2 : 25 Февраля 2004, 15:47:24 »
тут форум опять пару лишних пробелов вставил. Сам найдешь где ?

ЗЫ
Yukko, я помню ты про слеши говорил, но судя по тому сообщению это сработает только при тегах [ php].
« Последнее редактирование: 25 Февраля 2004, 16:02:47 от Макс »
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Не могу зацепиться
« Ответ #3 : 25 Февраля 2004, 15:53:55 »
Макс
Я пока не очень разобрался с заглядывающими утверждениями. Объясни плз почему в данном случае ты их использовал?

Лучше ли они чем-то такого:
/([^<>]+?)<\\/option>/s
 BlueJacking среди нас

Оффлайн stanlee

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 215
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Не могу зацепиться
« Ответ #4 : 25 Февраля 2004, 16:06:15 »
хм
регулярка мое слабое место
но я не пойму как загнать то что получилось в функцию

плз подскажи еще раз

$result = preg_replace("/(?<=\\> )[^<>]+?(?=<\\/option> )/s","функция(\\"собстно че вставлять???\\")", $result);

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не могу зацепиться
« Ответ #5 : 25 Февраля 2004, 16:11:05 »
metton

мой пример (php):
preg_match("/(?<=\\\\>\\)[^<>]+?(?=<\\\\/option>\\)/s"$a$m);
print_r($m);

выведет только одно значение:
Array
(
    [0] => Belgium

)


твой пример:
preg_match("/([^<>]+?)<\\\\/option>/s"$a$m);
print_r($m);

выведет: Array
(
    [0] => Belgium

    [1] => Belgium

)

причем одно из значений - лишнее.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не могу зацепиться
« Ответ #6 : 25 Февраля 2004, 16:16:17 »
stanlee
объясни, зачем тебе функцию использовать ?
Что ты хочешь сделать ?
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Не могу зацепиться
« Ответ #7 : 25 Февраля 2004, 16:19:36 »
Макс
Хм... А на perl у меня одно соответствие находит. А как так на PHP Получается?!
 BlueJacking среди нас

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
Не могу зацепиться
« Ответ #8 : 25 Февраля 2004, 16:32:44 »
metton
да, действительно.
Насколько я понимаю, то что ПХП хранит в массиве с индексом 0, перл это помещает в переменную $&

Вот 2 кода на перл:
# мой
$a =~ /(?<=\\>)[^<>]+?(?=<\\/option>)/s;
print $&;
print "\\n";
print $1;

#твой
$a =~ /([^<>]+?)<\\/option>/s;
print $&;
print "\\n";
print $1;
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Не могу зацепиться
« Ответ #9 : 26 Февраля 2004, 00:29:26 »
Паянт. Хотя странно, что, как получается (?), заглядывающие утверждения как бы не являются частью шаблона? (Может, не так выразился :rolleyes: ) Это я к тому, что части строки, им соответствующие не присутствуют в строке, соответствующей всему шаблону.
 BlueJacking среди нас

 

Sitemap 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