使用正则表达式将数字替换为文本

时间:2015-03-02 14:43:10

标签: regex markdown

我需要浏览一个文件,并使用Gi​​thub约定#xxx(其中xxx是问题编号)替换所有提及问题的实例,并使用{指向该问题的链接{1}}格式。

例如,这个:

Markdown

应转换为:

#143, #99

我已经能够使用以下三个数字选择所有问题:

[#143](https://github.com/repo/issues/143), [#99](https://github.com/repo/issues/99)

但这会遗漏两位或一位数的问题(即:#..[0-9] #5

有没有办法概括上述命令来选择所有问题,无论它们有多少位数?

完成此操作后,如何更换以添加每个问题的链接?

3 个答案:

答案 0 :(得分:2)

你应该使用这个正则表达式:

#[0-9]{1,3}

匹配1到3位数之间的问题#[0-9]{1,3}将匹配长度为1到3的数字。

您还可以使用字词边界

#[0-9]+\b

答案 1 :(得分:1)

试试这个正则表达式,你正在尝试做什么

#[0-9]{1,3}

答案 2 :(得分:1)

您需要正则表达式#(\d+)并替换为[#$1](https://github.com/repo/issues/$1)