我尝试匹配只有当文件名的前3个字符是~的其余字符可以是任何东西,但~因此,如果文件名以多于或少于3个~符号开始,则不应匹配。我有这个regex:
~
\~{1,3}[^/]*$
它匹配预期的a/b/c/d/~~~abcd.txt。但它也匹配a/b/c/d/~~~~1234.txt,a/b/c/d/~~helloworld.txt等等。
a/b/c/d/~~~abcd.txt
a/b/c/d/~~~~1234.txt
a/b/c/d/~~helloworld.txt
oiopk7p51#
你可以使用这个正则表达式来匹配你的文件名:
^~{3}[^~]*$
RegEx Demo
RegEx详情:
^
~{3}
[^~]*
$
请注意,这只会匹配filename前没有路径字符串的文件名。如果你想同时匹配路径和文件名,那么用途:
^(?:[^\/]+\/)*~{3}[^~]*$
RegEx Demo 2
1条答案
按热度按时间oiopk7p51#
你可以使用这个正则表达式来匹配你的文件名:
RegEx Demo
RegEx详情:
^
:开始~{3}
:匹配3个~
[^~]*
:匹配0个或多个非~
字符$
:结束请注意,这只会匹配filename前没有路径字符串的文件名。
如果你想同时匹配路径和文件名,那么用途:
RegEx Demo 2