Автор Тема: Значения скобок в регулярных выражениях  (Прочитано 8078 раз)

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

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Как получить ВСЕ значения переменных вида ${NUMBER}, а не только последние? То есть, например, следующий код:

my @foo = "abcdefghijklmnopqrstuvwxyz"=~/((\\w)(\\w))+/;
print("@foo");

выдаёт "yz, y, z", а нужно чтобы, чтобы выдавал и предыдущие значения захватывающих скобок .
 BlueJacking среди нас

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
Значения скобок в регулярных выражениях
« Ответ #1 : 14 Октября 2004, 04:12:36 »
/((\\w)(\\w))/g
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #2 : 14 Октября 2004, 13:38:54 »
так, видимо, я не совсем правильно сформулировал задачу. вот так, думаю, будет правильнее:

my @foo = "abcdefghijklmnopqrstuvwxyz"=~/((\\w)(\\w))+\\w/;
print("@foo");

то есть, нужно именно с квантификатором
 BlueJacking среди нас

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #3 : 22 Октября 2004, 01:18:11 »
есть идеи?
 BlueJacking среди нас

Оффлайн commander

  • Developer
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1298
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.webtips.ru
Значения скобок в регулярных выражениях
« Ответ #4 : 22 Октября 2004, 10:20:57 »
metton
Зачем тебе кванитификатор???
чем тебя не устраивает это: /((\\w)(\\w))/g
Или я не совсем видимо правильно понял задачу...
And no religion too...

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #5 : 22 Октября 2004, 11:46:30 »
commander,
просто выражение такого типа является подвыражением другого, более сложного, поэтому просто глобалом не получится - он относится ко всему выражению в целом
 BlueJacking среди нас

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #6 : 23 Октября 2004, 22:40:08 »
есть соображения по теме?
 BlueJacking среди нас

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #7 : 03 Ноября 2004, 18:52:20 »
народ, так можно как-то сделать подобное с квантификатором?
 BlueJacking среди нас

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Значения скобок в регулярных выражениях
« Ответ #8 : 03 Ноября 2004, 19:49:56 »
Я не понимаю что именно тебе нужно сделать.
у тебя есть строка "abcdefghijklmnopqrstuvwxyz", что в массиве должно быть?
The documentations is your friend

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #9 : 03 Ноября 2004, 20:21:18 »
ОК, попробую объяснить ещё раз.
Если есть строка:
"abcdefghijklmnopqrstuvwxyz"
и герэксп:
/((\\w)(\\w))/g
То находится то что нужно.

А если строку чуть модифицировать:
"...abcdefghijklmnopqrstuvwxyz..."
и регэкспу тоже:
/\\.((\\w)(\\w))\\./g
То уже нет. Тут идёт привзяка к неким границам между которыми и нужно искать.
 BlueJacking среди нас

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Значения скобок в регулярных выражениях
« Ответ #10 : 03 Ноября 2004, 20:41:51 »
metton ты четко на вопросы отвечать умеешь?
Меня интересует ЧТО ТЫ ДОЛЖЕН ПОЛУЧИТЬ В МАССИВ.
The documentations is your friend

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #11 : 03 Ноября 2004, 20:57:54 »
("ab","a","b",
"cd","c","d"...)
 BlueJacking среди нас

Оффлайн Green Kakadu

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2757
  • +1/-0
  • 0
    • Просмотр профиля
    • http://gnezdo.webscript.ru
Значения скобок в регулярных выражениях
« Ответ #12 : 03 Ноября 2004, 21:57:25 »
Цитировать
metton:
"ab","a","b", "cd"

а \'bc\'?
 в исканиях.

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Значения скобок в регулярных выражениях
« Ответ #13 : 03 Ноября 2004, 22:04:15 »
нет, без "bc"
 BlueJacking среди нас

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
Значения скобок в регулярных выражениях
« Ответ #14 : 04 Ноября 2004, 03:37:08 »
metton
Принципиально в одну строчку и одним регекспом?
It\'s nice to be important, but it\'s more important to be nice!

 

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