如何写一个正则表达式来过滤所有具有相对路径格式的字符串,即以ser_ver/开始,以.dat结束,中间可能有_,-,/,如下所示,
file1 ser_ver\sha-re\subfolder_1.dat
file2 ser_ver\sha-re\folder1\subfolder_1\subfolder_2.dat
file3 server\sha-re\complex\subfolder_1.dat
file4 server\sha-re\5555AB12\subfolder_1\subfolder_2\subfolder_3.dat
预期:
ser_ver\sha-re\subfolder_1.dat
ser_ver\sha-re\folder1\subfolder_1\subfolder_2.dat
1条答案
按热度按时间lo8azlld1#
像这样的事。。
解释...
零宽度的单词边界,在“单词”和“非单词”字符之间进行匹配。实际上并不向匹配添加任何内容,只是将其锚定,这样它就不会在单词的中间开始或结束。
匹配从a到z、A到Z、下划线、破折号或正斜杠中的一个或多个字符。
文字
.
。所以它符合...
字边界后接
ser_ver/
,然后是从a到z、A到Z、下划线、破折号或正斜杠中的一个或多个字符,然后是.dat
,然后是另一个字边界。所有这些都假设您正在使用注解中所述的正斜杠。
正如其他人在评论中提到的,你的例子实际上使用了反斜杠,所以如果你使用反斜杠的话,这需要更新。
像这样...
或者两者都允许。。