- perl: затык с регекспом, XAnder, 19:48 , 07-Июл-11 (1)
Тонкости интерпретации. В начале выражение в одинарных кавычках читается как лексема языка (то есть в нашем случае буквально), а потом полученная строка обрабатывается интерпретатором регулярных выражений, который понятия не имеет, какие там были кавычки — не его это дело.'\/' — это интерпретатор понимает как «символ /» 'I\/Ians' — а это, соответственно, как «символы I / I a n s» В этом нетрудно убедиться, дописав в секцию __DATA__ строчку «I/Ians» Вообще же, советую по возможности избегать конструкций вида m'...', используя более привычные m/.../ или m{...}.
- perl: затык с регекспом, ACCA, 20:58 , 07-Июл-11 (2)
> Тонкости интерпретации. В начале выражение в одинарных кавычках читается как лексема [...] > Вообще же, советую по возможности избегать конструкций вида m'...', используя более > привычные m/.../ или m{...}.Про одинарные кавычки perlre говорит, что RE будет восприниматься буквально, переменные не раскрываются. Для того они там и поставлены. К сожалению ни звука про \. Переформулирую вопрос - можно ли заставить m// воспринимать \ буквально, как это всегда происходит со всякими \}?
- perl: затык с регекспом, XAnder, 08:59 , 08-Июл-11 (3)
> Переформулирую вопрос - можно ли заставить m// воспринимать \ буквально, как это > всегда происходит со всякими \}?Можно: m/a\\b/ соответствует строке «a\b», но не «a\\b»
- perl: затык с регекспом, Etch, 09:02 , 08-Июл-11 (4)
> Переформулирую вопрос - можно ли заставить m// воспринимать \ буквально, как это > всегда происходит со всякими \}?m/\\/; ?
|