Level 1
匹配空字
/^$/
Level 2
匹配wechall
/^wechall$/
Level 3
从这道题开始被自己蠢哭!!!!
一开始最后面没有加$,然后出现提示:
Your pattern would match “wechall.jpg “, but it should not match it.
意思是不能匹配“wechal.jpn (后面有个空格)”,但是我现在的答案是能匹配的,所以现在的答案是错误的
然而我当时一晃神看成了我需要匹配“wechal.jpn (后面有个空格)”,然后在这个空格上面死磕了好久,被自己蠢哭
匹配文件名为wechall或者wechall4,后缀为图片格式的后缀
/^wechall4?\.(?:jpg|gif|tiff|bmp|png)$/
Level 4
匹配和level 3的要求一样,但是还要求捕获文件名(wehall/wechall4)但不捕获文件后缀名
/^(wechall4?)\.(?:jpg|gif|tiff|bmp|png)$/
这里后面的后缀名的非捕获组要使用“?:”而不是“?=”,是因为“?=”(正向肯定预查)不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。
表达式 | 描述 |
---|---|
(exp) | 匹配并捕获(捕获组) |
(?:exp) | 匹配但不捕获(非捕获组,只分组而不捕获) |
(?=exp) | 正向肯定预查,匹配查找但不捕获(非捕获组,只分组而不捕获) |