У меня проблема с предварительным утверждением (? =).Например, у меня есть выражение:
/Win(?=2000)/
Это соответствует Win
, если выражение похоже на Win2000
, Win2000fgF
.У меня есть следующее выражение:
^(?=.*\d)(?=.*[a-z]).*$
Соответствует цифре и строчной букве, например: 45dF
, 4Dd
.Но я не знаю, почему это работает и соответствует всем персонажам :) У меня нет символов, которые были до (?=.*\d)
.Я думаю, должно работать только это выражение:
^.\*(?=.*\d)(?=.*[a-z]).*$
(с \*
перед выражением).
Не могли бы вы объяснить это?