我想匹配url中的一些子字符串。你知道吗
例如网址:
www.google.com/images
www.google.com/images.pdf
目前我有re = r"([^.]*$)"
这适用于情况1,但不适用于情况2。你知道吗
www.google.com/images.pdf
匹配.pdf
->;按预期工作
www.google.com/images
匹配.com/images
->;失败
我希望re在找不到一个.
并且从末尾找到第一个/
时不匹配。你知道吗
请不要建议用.endswith
来做这件事。我没有需要匹配的所有可能扩展的列表。你知道吗
Tags:
试试这个:
从左到右,这表示:查找一个正斜杠,后跟除句点(“
[^\.]
”)以外的任何字符字符串任意次数(“*
”),然后查找以句点(“\.
”)开头的字符串,后跟任何剩余字符。但要从最后一刻开始做这一切(“$
”)。我注意到“[^.]
”似乎也代替了“[^\.]
”,所以我的“\.
”在这里可能是多余的。你知道吗使用表达式
r"(\.[^./]*$)"
最好从头到尾看:
从行尾开始,尽可能多地使用既不是
/
(因此整个匹配项属于最后一个路径元素)也不是.
的文本字符,因此不超过可能的后缀。最后(在开头)匹配中必须有一个.
,这样整个匹配就是最后一个path元素(通常是文件)的后缀(如果存在的话)。你知道吗相关问题 更多 >
编程相关推荐