我有以下字符串:
c:\logs\xxxx\yyyy.log
“xxxx”和“yyyy”都可以是任何长度和任何字符的任何字符串。
我需要选择“xxxx”部分。 到目前为止,我有以下正则表达式:
[^c:\\logs\\](.*)[\\]
输出:
xxxx\
但是,我在输掉最后一个“\”
时遇到了困难答案 0 :(得分:0)
假设"xxxx"
和"yyyy"
可以是 除反斜杠 之外的任何字符,这将匹配"xxxx"
部分:
(?<=^c:\\logs\\)[^\\]*(?=\\[^\\]*\.log$)
请参阅live demo。
此正则表达式匹配所有前缀为"c:\logs\"
的非反斜杠字符,后跟非反斜杠字符,然后".log"
顺便说一句,您[^c:\\logs\\]
的尝试是以错误的方式使用字符类 - [^c:\\logs\\]
表示“不是c:\logs
之一的任何单个字符”