我有这个字符串 82,03,92,23,12,32,43 ,我想提供一个起点和终点位置来获得一个特定的值(即你怎么得到12 )。
我尝试过以下正则表达式:
\b(\w+) this returns 82, it's kind of close of what I'm looking for
([0-9]*),([0-9]*) this returns 82,03 which is not what I'm looking for
我没有指定任何编程语言,因为我希望正则表达式在某种意义上是指令,因此系统可以计算并返回所提供的任何情况的结果。 (从某种意义上说,我们可以考虑抽象,所以如果我使用slipt
函数,那么我就像特定情况下的硬编码值一样)
答案 0 :(得分:0)
据我所知,你不能单独使用正则表达式来实现这一点,除非有人会动态构建一个正则表达式。因此,如果您想访问第三个值,您需要:
/(?:\d+,\d+,)(\d+)/,
但是没有办法将参数设置为正则表达式,至少不是我所知道的语言......
您所能做的就是将字符串拆分为数组并在那里应用索引:
"32,234,354,223,".split(",")[<idx>]
或while循环+ exec()
:
let match = null, finder = /\d+/g, test = '90,32,23', idx = 0;
while ((match = finder.exec(test))!== null) {
//here your match…
idx++;
}
答案 1 :(得分:0)
您可以将字符串拆分为数组并在数组上应用索引。你没有提到你的编程语言,所以在C#中是一个例子:
{{1}}