获取字符串中匹配项前后的字符

我有几个字符串,在字符串的某个位置上有一个“/”,例如bis 0/5 nta

我试图获取“/”两侧的数字,包括“/”,例如0/5

我尝试通过使用“/”将字符串拆分,并获取分割后字符串的第一个/最后一个字符,但我试图使它更简单。

for i in string.gmatch(example, "/") do
   print(i)
end

我还尝试过:

s = "bis 0/5 nta"
a,b = s:match("(.+)/(.+)")

有没有办法从bis 0/5 nta中获取0/5

点赞
用户12514997
用户12514997
您不需要括号。没有括号,整个模式将成为匹配项。
您只需要使用更具体的模式。

str = "bis 0/5 nta" x = str:match('%d+/%d+') --%d+ 表示匹配一个或多个数字 print(x) --0/5

```

如果您只需要查找类似于1/2或100/253的匹配项,这样做就可以了。如果您有更具体的需求,请在评论中提出,我会帮助您制定模式。

2020-04-08 17:37:21