我对前瞻断言 (?=) 有疑问。例如,我有表达:
/Win(?=2000)/
它匹配Win
, 如果表达式是Win2000
, Win2000fgF
。我有下一个表达:
^(?=.*\d)(?=.*[a-z]).*$
它匹配数字和小写字母,例如:45dF
, 4Dd
. 但我不知道,为什么它可以工作并匹配所有字符:) 我没有字符,它们是 before (?=.*\d)
。我认为,只有这个表达式应该有效:
^.\*(?=.*\d)(?=.*[a-z]).*$
(与\*
之前的表达)。
你能解释一下吗?