Автор Тема: Help! Рег-е выр-е  (Прочитано 4514 раз)

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

Оффлайн Vladn

  • Завсегдатай
  • Пользователь
  • **
  • Сообщений: 60
  • +0/-0
  • 0
    • Просмотр профиля
    • http://mod-site.net/ru/
Help! Рег-е выр-е
« : 01 Октября 2003, 16:04:21 »
Подскажите, как записать регулярным выражением следующую фразу:
удалить в текущем документе все буквы A, которые не находятся внутри комментериев
Только не спрашивайте, зачем мне это надо.
 - мои гостевушки MBook

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Help! Рег-е выр-е
« Ответ #1 : 01 Октября 2003, 16:55:27 »
s/()|A/$1/g;

Только "use warnings" этого не оценит...

[OFF]Я замучился править пост. Никак не удается избавится от пробела в строке! Там его быть не должно.[/OFF]
« Последнее редактирование: 01 Октября 2003, 17:04:25 от ondr »
0 OK, 0:1

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Help! Рег-е выр-е
« Ответ #2 : 02 Октября 2003, 19:48:35 »
2ondr
Эээ... А зачем эскейпить тире? Оно же не в классе символов. Ещё по хорошему стоило бы добавить модификатор s.
 BlueJacking среди нас

Оффлайн Oak

  • Дерево
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1481
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Help! Рег-е выр-е
« Ответ #3 : 07 Октября 2003, 01:31:35 »
ondr
Хмм.. а оно разве не скушает  | aaa -->  bbb <--- aaa |  ?
[основной броузер - SeaMonkey] Netscape Communicator 4 - is the best :) // see sources

Оффлайн ondr

  • Модератор
  • Глобальный модератор
  • Старожил
  • *****
  • Сообщений: 440
  • +0/-0
  • 0
    • Просмотр профиля
Help! Рег-е выр-е
« Ответ #4 : 07 Октября 2003, 10:42:04 »
Цитировать
metton:
Эээ... А зачем эскейпить тире? Оно же не в классе символов.


Еще как в классе! (метасимволов)
perldoc perlre

Цитировать
metton:
Ещё по хорошему стоило бы добавить модификатор s.


Можно.

Цитировать
Oak:
Хмм.. а оно разве не скушает | aaa --> bbb <--- aaa | ?


А что? Должно?
0 OK, 0:1

Оффлайн Oak

  • Дерево
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1481
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
Help! Рег-е выр-е
« Ответ #5 : 07 Октября 2003, 16:52:03 »
ondr

Таки я не прав.
[основной броузер - SeaMonkey] Netscape Communicator 4 - is the best :) // see sources

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Help! Рег-е выр-е
« Ответ #6 : 07 Октября 2003, 17:59:57 »
2ondr
Ты не прав! Тире не является метасимволом вне квадратных скобок.
 BlueJacking среди нас

Оффлайн Yukko

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1586
  • +0/-0
  • 0
    • Просмотр профиля
    • http://estrabota.com.ua
Help! Рег-е выр-е
« Ответ #7 : 07 Октября 2003, 18:11:25 »
Насчет дефиса:
Дефис выполняет функции метасимвола только внутри символьного класа — в остальных случаях он совпадает с обычным дефисом. Более того, даже в символьных классах дефис не всегда интерпретируется как метасимвол. Если дефис является первым символом, указанным в классе, он заведомо не может определять интервал и поэтому интерпретируется как литерал. Аналогично, вопросительный знак и точка в конце класса считаются метасимволами в контексте обычных регулярных выражений, но не в контексте класса.
работа в Украине

Оффлайн metton

  • access granted
  • Старожил
  • ****
  • Сообщений: 320
  • +0/-0
  • 2
    • Просмотр профиля
    • http://bluejack.ru/
Help! Рег-е выр-е
« Ответ #8 : 07 Октября 2003, 22:59:25 »
2Yukko
Просветил, дружище ;)
Я об этом и говорил ondr-у.
 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