求个 js 正则,脑子最近进水,暂时想不出来

2020-07-04 23:09:04 +08:00
 supermoonie

输入如下: Content-Disposition: form-data; name="test.png"; filename="test.jpg" 或 Content-Disposition: form-data; name="foo"

输出: ['test.png', 'test.jpg'] 或 ['foo']

哪位大佬指导下?[献花][献花][献花]

3558 次点击
所在节点    JavaScript
45 条回复
MrUser
2020-07-06 09:28:11 +08:00
正则的前置断言各浏览器支持性确实不好,收回以上回复
supermoonie
2020-07-06 09:41:59 +08:00
@MrUser Safari 全军覆没。。。
creanme
2020-07-06 21:19:27 +08:00
我朋友写了个 /(?:(?:file)?name=)"([^"]+")/g,但是没法正常输出 groups,不知道为啥。string 的 match 在有 global 标志的情况下,不会输出 groups,只会输出匹配项。

regex 的 exec 则 不管是 new Regexp('(?:(?:file)?name=)"([^"]+")','g')还是 new Regexp(/(?:(?:file)?name=)"([^"]+")/g)都没法匹配全局。
creanme
2020-07-06 21:35:36 +08:00
想通了,exec 有个 lastindex 标志位,所以不会一次输出全局的匹配。
supermoonie
2020-07-06 23:23:12 +08:00
@creanme 我已经抛弃 js 的正则了😂

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/687210

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX