【发布时间】:2018-05-09 10:33:58
【问题描述】:
我在 regex101 上尝试了一些东西并问自己:
如何动态匹配第n个数字组。
让我们获取字符串:
string = this11is22library33this44is55library
对于 js-regex,我能够识别以下模式
- 获得第一名
(?<=(?:\d+\D+){0})\d+ #11 - 获得第二个
(?<=(?:\d+\D+){1})\d+ #22 - 获得第三名
(?<=(?:\d+\D+){2})\d+ #33 - 获得第四名
(?<=(?:\d+\D+){3})\d+ #44 - 获得第五名
(?<=(?:\d+\D+){4})\d+ #55
如何构造这样的模式,匹配 perl regex 中的第 n 个数字块?
【问题讨论】:
-
将它们转换为
^(?:\d+\D+){0}(\d+)并获取$1。