正则表达式 - 返回连续数字的确切数量

时间:2017-08-16 15:55:33

标签: regex vba

我想从字符串中返回5个连续数字(在VBA中工作)。

根据这篇文章Regex我正在使用模式WITH CTE AS ( SELECT b.name, ... RN = ROW_NUMBER() OVER( PARTITION BY a.id ORDER BY b.DateColumn DESC) FROM ... LEFT JOIN table_b AS b ON b.id = a.id ) SELECT *, CASE WHEN a.id IS NOT NULL THEN b.name END FROM CTE WHERE RN = 1; ,但这会在目标5位数之前和之后立即获取单个字母并返回[^\d]\d{5}[^\d](来自“。 ... South92345West“)。

如何修改以仅返回5个连续数字:h92345W

92345

2 个答案:

答案 0 :(得分:2)

您需要使用一个组:

"[^\d](\d{5})[^\d]"

然后该数字将在第一组中。不确定用于分组的VBA语法。

答案 1 :(得分:2)

([^\d])(\d{5})([^\d])

你可以使用这个正则表达式,匹配的术语应该在第二组

相关问题