我有一个文字,例如:
Hello ../aaa.jpg ../bbb.jpg ../sss.gif ../xxx.png End of Text
我想获取所有扩展名为jpg和png的文本。
预期结果:
1. ../aaa
2. ../bbb
3. ../xxx
请帮助我。
我尝试使用.match(/(.*).(jpg|png)/)
,但似乎无法正常工作
答案 0 :(得分:3)
您必须使用g
标志来处理多次出现,并且只需要匹配单词(\w
),点(\.
)和斜杠({ {1}})在点和扩展名之前:
\/
答案 1 :(得分:2)
let regex = /\S+?(?=\.(?:jpg|png))/g
console.log(
'Hello ../aaa.jpg blah ../a-b-c.jpg ../sss.gif ../&%01-x.png End of Text'.match(regex)
)
哪里
\S+?
匹配1个或多个(不是贪婪的)非空格字符(?= ... )
是积极的前瞻(?: ... )
是一个非捕获组