只想匹配最后一个句点之前的每个字符,但不包括句点本身。
dog.jpg -> dog
abc123.jpg.jpg -> abc123.jpg
我已经尝试过
(.+?)\.[^\.]+$
dog.jpg -> dog
abc123.jpg.jpg -> abc123.jpg
我已经尝试过
(.+?)\.[^\.]+$
默认情况下,正则表达式是贪婪的。这意味着当正则表达式模式可以匹配更多字符时,它将匹配更多字符。
对于您来说,这是一件好事。您只需要匹配字符,然后再匹配一个点:
.*\.
也就是说,
. # Match "any" character
* # Do the previous thing (.) zero OR MORE times (any number of times)
\ # Escape the next character - treat it as a plain old character
. # Escaped, just means "a dot".
所以:默认情况下贪婪地匹配尽可能多的字符(因为它是贪婪的),然后匹配一个字面点号。
abcd
、a.b.c.d.e
这样的情况,有什么用途呢? - rock321987