2
PhoinixХочу извиниться - поторопился... Забавно, но, оказалось, что тот треклятый (

метасимвол \'?\' даже очень значим в шаблонах типа /.*?/. Читая "книгу с верблюдом" сегодня, обнаружил сей факт (причём где-то во введении). \'?\' в вышеуказанном шаблоне играет роль уменьшения жадности квантификаторов (в данном случае \'*\'). Т.е. шаблон ищет не самое длинное соответствие шаблону, а, наоборот, - самое короткое. И самое забавное - это то, что данный факт позволяет хорошо оптимизировать твой шаблон.
Т.е. для строки "Some text 1 [s: Some text 2] Some text 3 [/s] Some text 4", чтобы вытащить "Some text 2", используем такое:
$text =~ /.*?\\[s\\:\\s*(.*?)\\]/i;
А после, соответственно, находим "Some text 2" в $1.
Чтобы вытащить ещё что-то из этой строки, действуешь соответственно.
ОФФТОП:
2
ALLЯ где-то читал, что локальные наборы символов по идее должны входить в класс \\w. А у меня почему-то не входят, а входит только в \'.\' От чего это зависит?