问题一
.代表任意字符,(?=.*[a-z]) 表示任意字符拼接小写字母,那(?=[a-z])跟它有什么区别?
问题二
前瞻:exp1(?=exp2) 查找exp2前面的exp1,
后顾:(?<=exp2)exp1 查找exp2后面的exp1,
(?=.*[a-z]). 和 .(?=.*[a-z]) 我测试都能运行,反而(?<=.*[a-z]). 运行不了,是不是后顾表达式不能用 (?<=exp2)exp1 了?
问题三
用菜鸟工具正则表达式在线测试,abcD去匹配 (?=.*[a-z]). 匹配结果是 a b c,为什么a也能匹配,a的前面什么都没有啊!
说实话,没有看出什么区别。
(?=.*[a-z])不行的话,你试试看 (?=.*?[a-z])
*代表0或者多个,+是起码1个,所以没有也能匹配