我需要从Content-Disposition标头中提取文件名(带有扩展名)。我以前使用过此正则表达式:
/.*filename=[\'\"]?([^\'\"]+)/
但不适用于像这样的文件名:
范例-我是ößä.dat
所以我正在寻找可以处理这样的文件名的正则表达式
捕获组([^\'\"]+)
包含一个否定的字符类,该类不允许一个引号,因为您在中有一个引号I'm
。
如果删除一个引号,它将起作用:
/.*filename=[\'\"]?([^\"]+)/
参见演示https://regex101.com/r/pY9mR4/1
另外,为了匹配文件名周围的引号,最好在正则表达式的末尾使用组引用:
/.*filename=([\'\"]?)([^\"]+)\1/
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句