Вниз  Регулярные выражения
- 25.11.2012 / 19:15
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Помогите регулярку составить для имени переменной. Имя не должно начинаться с цифры, допустимые символы: a-zA-Z0-9 и ? . @ _ $
Только объясните, чтоб я понял :-D
__________________
 let live
- 25.11.2012 / 19:22
Dinisimys
  Пользователь

Dinisimys 
Сейчас: Offline
/^[^1-9]+[\w.@_$]/
попробуй так

Изменено Dinisimys (25.11 / 19:23) (всего 1 раз)
- 25.11.2012 / 21:31
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Dinisimys, что означает символ косой черты / ? Я его убрал с начала и с конца - заработало. Но твой способ не пропускает однобуквенные переменные.
__________________
 let live
- 25.11.2012 / 21:35
Dinisimys
  Пользователь

Dinisimys 
Сейчас: Offline
aNNiMON, /.../ это начало и конец регулярного выражения :)
не пропускает однобуквенные? Попробуй после ] поставить *
- 25.11.2012 / 21:36
Dinisimys
  Пользователь

Dinisimys 
Сейчас: Offline
aNNiMON, обьяснить надо как работает?
- 25.11.2012 / 21:39
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Dinisimys (25.11.2012/21:36)aNNiMON, обьяснить надо как работает?Лишним не будет, объясни.
__________________
 let live
- 25.11.2012 / 21:50
Dinisimys
  Пользователь

Dinisimys 
Сейчас: Offline
Первый "блок":
^[^1-9]+ -
^ говорит о том, что должно быть в начале;
[^...] все символы, которых НЕТ(об этом говорит ^, если бы его не было, то все символы которые ЕСТЬ) в скобках, а в скобках пишем 1-9, тоесть все , кроме цифр;
+ - повторяеться от одного раза и больше, тоесть переменная может быть однобуквенной и больше;
Второй "блок":
[\w.@_$]* -
[...] - уже понятно, все символы, которые ЕСТЬ в скобках;
\w - заменяеть надпись 1-9a-zA-Z
.@_$ - просто перечень символов
* - повторяеться от нуля и больше раз
Без знака * переменная должа бы быть минимум двобуквенной, так как + гарантирует одну букву, а еще дальше знаки тож гарантируют одну букву.

Изменено Dinisimys (25.11 / 21:53) (всего 1 раз)
- 25.11.2012 / 22:31
aNNiMON
  Супервизор

aNNiMON 
Сейчас: Offline
Dinisimys, Спасибо, доходчиво объяснил. Замечу лишь то, что числа у нас всё-таки 0-9, а не 1-9.
__________________
 let live
- 25.11.2012 / 22:35
Dinisimys
  Пользователь

Dinisimys 
Сейчас: Offline
aNNiMON, а, ну да, на да. Чет забыл. А вообще можно заменить 0-9 на \d
- 25.11.2012 / 23:18
ВитаминКО
  Супермодератор

ВитаминКО 
Сейчас: Offline
Dinisimys, \d - это от англ digit? :)
__________________
 わからない!!
Наверх  Всего сообщений: 77
Фильтровать сообщения
Поиск по теме