在 10 位数字后添加空格的正则表达式

在 10 位数字后添加空格的正则表达式

我该如何编写正则表达式来执行查找/替换操作,以便在每个 20 位数字后的 10 位数字后添加空格?

我有一长串的电话号码,其中一些号码意外地长达 20 位数字,我需要在每个号码之间添加一个空格。

编辑:我尝试了 \d\d​​\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d\d,它选择了 20 位数字,但是用空格替换它只会用空白替换所有 20 位数字,而不是在 10 位数字后插入一个空格。

我正尝试使用 MacBook Pro 上的 Sublime Text 来执行此操作。

答案1

你需要使用捕获组如果您想执行替换操作同时保留原始字符串的组成部分。

你的正则表达式将遵循类似以下内容:

图案: "^([\d]{10})([\d]{10})" //two groups of 10

代替: "$1 $2"

每个模式周围的括号为十个块,定义一个捕获组。所以我们说“前十位数字在组 $1 中,后十位数字在组 $2 中”。然后我们只需说“打印组 1,添加一个空格,然后打印组 2”。

请注意,每个平台的 Regex 语法和替换语法都不同。许多平台使用$number(如 sed),其他平台使用\number(如 notepad++),因此请务必查阅产品的文档。

相关内容