正则表达式学习:匹配并且符合一定条件
在工作中看到的一段常用的正则
需求
从目标字符串中得到文件名,只要
.png.zip, .mp3,.swf
结尾的文件名列表
先看一下目标字符串
[
"http://kly.demo.com/4bf0d288f57470d7ec75745b796c15fe496323f7cbe8e99f7fea6175d046b1c7.png",
"http://kly.demo.com/4bf0d288f57470d7ec75745b796c15fe496323f7cbe8e99f7fea6175d046b1c7.png",
"http://kly.demo.com/736cbf1056b1eaa18d2598f22ae332456b94846e01f3fc27dc3c25ac239fc257.mp3",
"http://kly.demo.com/69c0af2bd3b1e3ee5f12b324d27f5e1796207ad95a607a5c16a5b0fdcb1b0b03.mp3",
"http://kly.demo.com/4da41e93282bfb8eb6ff3110e78f720c9e0bc06e54b2240a111c8caca4a8e12f.mp3",
"http://kly.demo.com/749ff106e7a6bc5ff50a8f21c6d2bdda4dc26e3b8d0972f9528cf990e7d5fe3c.swf",
"http://kly.demo.com/5de616972d97eec2eeda4e125858ca2f24c25037a332636e629985d932310e73.mp3",
"http://kly.demo.com/997d75c3e41c66a92c3fa5214f7cd5720c04e2e834a0ca29f084141862d0b597.png.zip"
]
正则
(\w{64})\.(?:swf|zip|png\.zip|mp3)
小提示
\w{64}
这个是得到文件名- 后面是后缀条件
(?:
这个是只定位,不匹配,是正则优化的一种方式