[英]Regex: Find everything after a period, before the last slash
我发现了一些类似的正则表达式问题,但我正在努力将这些答案转化为我想要做的事情。 我有一个这样的字符串:
Y:\Path\sub path\name_of_folder.microphones.flac24\trackname01.flac
我想返回“flac24”
name_of_folder 中的句点数会有所不同。 我已经想出了如何隔离最后两个斜杠之间的文本,但我现在似乎无法在最后一段之后得到部分:
(?<=\\)[^\\]*(?=\\[^\\]*$)
谢谢!
您可以使用
\\[^\\]*\.([^\\]*)\\[^\\]*$
请参阅正则表达式演示。 详情:
\\
- 一个\
字符[^\\]*
- 尽可能多的除\
之外的零个或多个字符\.
- 一个.
字符([^\\]*)
- 第 1 组:除\
char 之外的零个或多个字符\\
- 一个\
字符[^\\]*
- 除\
char 之外的零个或多个字符$
- 字符串结束。请参阅Python 演示:
import re
regex = r"\\[^\\]*\.([^\\]*)\\[^\\]*$"
x = "Y:\\Path\\sub path\\name_of_folder.microphones.flac24\\trackname01.flac"
match = re.search(regex, x)
if match:
print(match.group(1))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.