正则表达式:从另一个数字获取中间数字

时间:2015-05-06 13:13:27

标签: regex

我的字符串(实际上是一行)如下所示:

abc bsdb kms 324 kdf 12345678

我想从行尾的数字中得到第3到第5个数字。它始终位于该行的末尾,并且具有固定的8位数字。

期望的结果:

345

这可能吗?

2 个答案:

答案 0 :(得分:2)

这是使用的正则表达式:

\b\d{2}(\d{3})\d{3}$

第1组将保留345值。

为了能够捕捉行尾的值,只需使用多行选项。

请参阅(updated) demo

答案 1 :(得分:1)

您可以使用以下内容进行匹配:

(\d{3})\d{3}$

并按$1\1

提取所需的群组

说明:

  • 匹配结尾$的六位数并捕获前三位(因为您的长度固定为8,它匹配中间的3位数字)

请参阅DEMO