LINUX.ORG.RU

регэксп в перле[туплю]

 


0

0

нужно чтобы ничего кромер букв ( русских в том числе ), цифр и дефиса не было в строчке:

с учетом локали накропал что-то типа:

use POSIX;

setlocale(&LC_ALL,'ru_RU.CP-1251');

$r = "ТЕСТ3б323232-32-324*())23";


if ( $r =~ /^[\w-\d]/ ) {

print STDERR "OK";

}

Как исключить отсюда *( и др ?

★★☆☆

invalid regular expression; can't use character class as a start value of range: /^[\w-\d]

Я думаю если ты хочешь использовать дефис то его надо эскейпать — \-, иначе же будет диапазон, который охватывает всё от букв до цифр (лолчто?)

future-of-the-lor
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.