4. 如何批量修改文件名,文件内容

"Hello World, Hello Blog"

Posted by wudimingwo on December 15, 2018
  1. 修改文件名, 具体需求是 把 .md文件的文件名改成2018-12-15-1.md

下载格式工厂

百度经验

很遗憾, 格式工厂无法识别 .md文件

换一个批量改名大师

这个可以, 操作非常简单..

  1. 修改文件, 具体需求是, 要在每个文件的头部添加 ``` — layout: post title: “Hello 2015” subtitle: “ "Hello World, Hello Blog"” date: 2019-01-29 12:00:00 author: “Hux” header-img: “img/post-bg-2015.jpg” catalog: true tags:
    • 生活
    • Meta

      ```

下载超级批量文本替换

问题变成了, 如何匹配文章头部 image.png 打算用正则, 哎,, 正则也忘得差不多了, 真是学一个忘一个.

在这里用了将近一个多小时了,还是没有解决 这个软件的正则匹配默认是相当于添加了全局匹配和多行匹配

1
2
3
4
5
6
7
8
9
10
str.replace(/^(?=([\d\D\n])+$)/gm,111)

var str = "dslkgjalgj\nlkasdjgaslgjasl\nalskjdgasld;kgj\n"
出来的结果是
"111dslkgjalgj
111lkasdjgaslgjasl
111alskjdgasld;kgj
"
每一行都会插入111

能不能用非贪婪匹配?

1
2
3
str.replace(/^(?=([\d\D\n])+$)+?/gm,111)
不行还是一样
这个多行匹配很烦人

一方面感觉好无奈, 另一方面觉得正则好差,好沮丧, 但我们不要忘记初衷,

哇,,,, 我对自己的智商感到着急. 真的沮丧.

在多行匹配模式下, 难道没有办法匹配第一行首光标嘛? 天呐整整两个半小时,我终于明白了怎么匹配.很简单

1
2
3
4
5
6
7
8
9
10
	  	var str = "a\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\na\n";
	  	var s = /(?<![\n\d\D])/gm;
反向否定预查
首行首位光标和其他行首位光标有何区别?
这个区别就是, 其他光标前是有换行符的, 而首行首位应该是没有换行符的.
所以我们就匹配前面没有换行符的就可以,
但前面有字符也会被符合条件, 所以加上前面既没有换行符,也没有其他字符.
	  	var some = str.replace(s,111);
	  	console.log(s.test(some));
	  	console.log(some);

image.png 弄出这简单一句的时候, 我真的开心, 不过马上又跌入地狱了. image.png 尼玛,,,这个软件说这个正则语法有错误? 尼玛,,,,我想砸了电脑…

百度百度再百度 另一个软件 image.png 这个当真是轻而易举的完成了上面的操作… 瞬间好空虚..