pva
21-12-2014, 17:15
У меня почему-то не срабатывает регулярка. Возвращает 1, но переменные $&, $1-$4 не выставляет.
$templ="{asdasdasd}";
$templ=~m/\{\?|\!=|([\d]+)|([\w\-]+)|(\[[^\]]*\])|(\\[cwrnb])|[^\s\w\d{}]+| +|./gm
Заложенный смысл: нужно вычленить из текста английские слова, числа, текст обрамлённый скобками [..], пробелы, русские слова и односимвольные последовательности.
англ.слова, [..], числа и т.д. сложить в соотв. переменные $1-$4.
На javascript прокатывает, в перле - нет.
$templ="{asdasdasd}";
$templ=~m/\{\?|\!=|([\d]+)|([\w\-]+)|(\[[^\]]*\])|(\\[cwrnb])|[^\s\w\d{}]+| +|./gm
Заложенный смысл: нужно вычленить из текста английские слова, числа, текст обрамлённый скобками [..], пробелы, русские слова и односимвольные последовательности.
англ.слова, [..], числа и т.д. сложить в соотв. переменные $1-$4.
На javascript прокатывает, в перле - нет.