[英]Validating file name for creating file in windows, using regular expression in javascript
[英]Regular expression to find file name using any Javascript based library
我正在使用Markdown编辑器。 用户上传图像后,我看到在编辑器中输入了以下行。
![](/assets/img/content/id/2e65c657cf609fca24893278cdcb2159.gif)
我想要的是:我想通过搜索整个编辑器的内容来提取文件名。
假设我的编辑器上有以下内容:
Hello world.pdf
![](/assets/img/content/id/2e65c657cf609fca24893278cdcb2159.gif)
This is a test
![](/assets/img/content/id/2e65c657cf609fcaeqwe78cdcb2159.png)adding text
Adding another image
![](/assets/img/content/id/2e65c657cf609f24432434423b2159.jpg)
从上面的内容,运行正则表达式后,我应该能够得到:
2e65c657cf609fca24893278cdcb2159.gif
2e65c657cf609fcaeqwe78cdcb2159.png
2e65c657cf609f24432434423b2159.jpg
我已经尝试过这样的事情。 尽管可以正常工作,但我不确定它的最佳解决方案:
var myregex = /\(\/assets\/img\/content\/id\/(.+?)\)/gm
var result, allMatches = [];
while((result = myregex.exec(data)) != null) {
var match = result[1]; // get the first match pattern of this match
allMatches.push(match);
}
使用以下regex
:
var fileNames = content.match(/(\w+\.[a-z]{3,4})/gi);
REGEX说明
/
: regex
分隔符 ()
:捕获组 \\w+
:匹配任何一个或多个字母字符和_
(下划线) \\.
:火柴.
文字 [az]{3,4}
:匹配3至4个字母 gi
:匹配所有出现的g
且不区分大小写i
更新
var fileNames = content.match(/\!\[\].*?(\w+\.[a-z]{3,4})/gi);
fileNames = fileNames.toString();
var names = fileNames.match(/\w+\.[a-z]{3,4}/gi);
alert(names);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.