0
我有一个这样的字符串:如何为字符串中的所有相同URL定义相同的数字?
var str = "this is [link1][1]
this is [link2][2]
this is [link3][3]
this is [link4][4]
[1]: http://example1.com
[2]: http://example2.com
[3]: http://example1.com
[4]: http://example4.com";
现在我想这样的:
var str = "this is [link1][1]
this is [link2][2]
this is [link3][1]
this is [link4][4]
[1]: http://example1.com
[2]: http://example2.com
[4]: http://example4.com";
正如你在上面的例子中看到有两件事情:
- 删除之间的冗余
\n
所有这些网址(只有网址) - Remo已经重复的URL和替换refrence数(换句话说,在上面的例子中,因为第一和第三URL是相同的,那么
[3]: http://example1.com
拆卸和替换[3]
与[1]
)
有一个正则表达式它匹配[any digit]:
及其两种url
组:
/(\[[0-9]*]:)\s*(.*)\r?\n?/gm
在str
,该正则表达式匹配:
//group1
$1: [1]:
[2]:
[3]:
[4]:
//group2
$2: http://example1.com
http://example2.com
http://example1.com
http://example4.com
也有另一个正则表达式其中仅删除链接之间的所有废物\n
:
str.replace(/(^\[[0-9]*]:.*)\n+/gm, $1\n);
好了,我该怎么办呢?
那么输出似乎是正确的......谢谢。 +1 – stack