字符串开头的正则表达式个位数

时间:2019-04-16 15:26:09

标签: regex

A具有以下字母数字序列:

[9A1 9A10 9B2 10C1]

我想通过以下方式对其进行转换:

9A1  --> 096501
9A10 --> 096510
9B1  --> 096601
10C1 --> 106701

我需要它来执行排序。 因此,无法在字符串开头获取仅与1位数字匹配的正则表达式,例如 它应该返回我以下:

9A1  --> 9
9A10 --> 9
9B1  --> 9
10C1 -->  {nothing}

所以我可以将其转换为两位数显示。

我尝试了以下操作:

^[\d]{1}

但它适用于所有情况,而不仅仅是一位数字。

1 个答案:

答案 0 :(得分:3)

您可以从字符串^\d的开头匹配一个数字,并使用负的超前行(?!\d)来断言直接在右边的不是数字:

^\d(?!\d)

Regex demo

请注意,^[\d]{1}可以写为^\d,并与字符串开头的一位数字匹配。它没有考虑到直接在右边的内容。