我有几个具有两种文件名的文件
我想按以下方式分割文件:
此正则表达式模式适用于文件类型2(不带方括号),但不适用于文件类型1。
event.target
为什么它不适用于文件类型2?我可以使用哪种模式来匹配两种文件名类型?
答案 0 :(得分:1)
您可以使用
^(.*\\)(.*?)(?:\s*(\[.*\]))?\.([a-zA-Z]*)$
^^^ ^^
请参见regex demo
详细信息
^
-字符串的开头(.*\\)
-组1:尽可能多的除换行符以外的0+个字符(.*?)
-第2组:除换行符以外的任何0+个字符,并且尽可能少(?:\s*(\[.*\]))?
-匹配的可选组
\s*
-超过0个空格(\[.*\])
-第3组:一个[
,除换行符之外的任何0+个字符,并尽可能多地包含一个]
\.
-一个.
([a-zA-Z]*)
-第4组:0个以上的字母(或者只需使用[^.]*
来匹配.
以外的任何字符)$
-字符串的结尾。