([^/]+)/(thumb)\.(jpg)$
([^/]+/)?(thumb)\.(jpg)$
我知道?
表示零次或一次。在/
之前thumb
是否意味着它出现一次?
答案 0 :(得分:1)
是的,第一个表达式需要字符串中的/
,并且在与/
不同之前至少需要1个字符。
在第二个表达式中,它不是必需的。例如,thumb.jpg
将匹配第二个但不匹配第一个。
最后,第一个表达式匹配的每个字符串也将与第二个表达式匹配。
答案 1 :(得分:1)
是的,他们匹配不同的东西。
例如,这一个:
([^/]+/)?(thumb)\.(jpg)$
匹配字符串:thumb.jpg
?
使整个子表达式成为可选项。
另一个没有。
([^/]+)/(thumb)\.(jpg)$
^
如您所见,/
是静态的,因此它必须存在。
此外,之前必须至少有一个不是/
个字符。这就是+
的含义。