перл&регулярное выражение

tolyan77

Member
Регистрация
06.06.2004
Сообщения
269
Реакции
0
Баллы
16
Возраст
46
Местоположение
Arkhangelsk
Привет,Алл

не подскажите почему меня не работает это условие, в нем я хотел ограничить сроку началом и концом, если вводить 111today - условие работает, если today111 - неработает:(
if ( $view =~ m/^today?/i ) {}

заранее благодарен
 

Vah

Member
Регистрация
08.05.2005
Сообщения
142
Реакции
5
Баллы
18
Возраст
38
Местоположение
Moscow
tolyan77 сказал(а):
Привет,Алл

не подскажите почему меня не работает это условие, в нем я хотел ограничить сроку началом и концом, если вводить 111today - условие работает, если today111 - неработает:(
if ( $view =~ m/^today?/i ) {}

заранее благодарен

А какая преследуется цель?? т.е. что ты хочешь этим сделать?
 
Y

y00

Guest
tolyan77 сказал(а):
Привет,Алл

не подскажите почему меня не работает это условие, в нем я хотел ограничить сроку началом и концом, если вводить 111today - условие работает, если today111 - неработает:(
if ( $view =~ m/^today?/i ) {}

заранее благодарен

^ - начало строки
$ - конец строки
? - 0 или 1 совпадение precending блока
* - 0 или болше совпадений
+ - 1 или больше совпадений
. - любой символ (кроме \n в обычном режиме)
\d - цифры
\D - всё кроме цифр

Если тебе нужно, чтобы рега срабатывала на наличии слова today в конце или начале строки, то я так понял надо так ^today(.*)$|^(.*)today$, в $1 получишь все символы которые перед словом today. Если нужно срабатывать только тогда, когда после или перед today цифры, то патерн .* заменяешь на \d* или \d{мин,макс}, где мин и макс - это минимальное и максимальное кол-во цифр в последовательности. Один из параметров в диапазоне можно опустить, тогда диапазон будет срабатывать при выполнении указанного параметра (т.е. логика не меньше чем X; не больше чем Y).
 
Последнее редактирование модератором:
198 095Темы
635 066Сообщения
3 618 395Пользователи
ashot.Новый пользователь
Верх