正则表达式(\ d {3})(?=\d)是什么意思?

DHu*_*ang 4 ruby regex expression

我是正则表达式的新手,我正试图打破正则表达式,以便我能更好地理解它:

 /(\d{3})(?=\d)/ 
Run Code Online (Sandbox Code Playgroud)

我知道这(\d{3})是捕获3位数,但不确定第二部分试图捕获的是什么.

什么?=意思?

anu*_*ava 8

(?=\d)是一个积极的先行,它意味着匹配和捕获3位数后跟一个数字.

所以会发生这样的事情:

1234 => capture 123
123a => no match
Run Code Online (Sandbox Code Playgroud)