Forum Webscript.Ru

Программирование => Perl => Тема начата: C++ от 11 Февраля 2003, 20:32:02

Название: Regexp help!
Отправлено: C++ от 11 Февраля 2003, 20:32:02
как определить существование в строке символов кроме
0-9,-
не перечисляя их все?
Название: Regexp help!
Отправлено: Chs от 11 Февраля 2003, 22:18:47

[^0-9-]
Название: Regexp help!
Отправлено: C++ от 11 Февраля 2003, 23:05:53
пробовал, не хочет...
запятая тоже входит к тем символам, которые должны быть...
я писал так
[^0-9,-]
Название: Regexp help!
Отправлено: Chs от 11 Февраля 2003, 23:36:38
Цитировать

я писал так
[^0-9,-]

Но я то написал:

[^0-9-]

Это две большие разницы.:)

#!/usr/bin/perl

$str = "0123456789-";
print $str =~ m/[^0-9-]/;
Название: Regexp help!
Отправлено: C++ от 12 Февраля 2003, 00:30:56
я понимаю, что есть разница
мне нужно чтоб числа,тире и запятая учавствовали в шаблоне, т.е. чтоб проверял на наличие других символов, кроме цифр, тире и запятой....
может так:
m/[^0-9-\\,]/;
Название: Regexp help!
Отправлено: Mog. от 12 Февраля 2003, 07:39:33
Цитировать
может так:
m/[^0-9-\\,]/;

может так [^0-9\\-\\,] все кроме от нуля до девяти(диапазон) , а  потом перечисление "-" "," закрывая их слэшем.

Хотя и m/[^0-9-\\,]/; тоже работает и наверно даже более правильно (так как короче :) )