如何在字符串中进行模式匹配?

发布于 2024-10-26 18:51:11 字数 243 浏览 4 评论 0原文

有没有办法迭代以逗号分隔的字符串,然后对匹配项执行某些操作?到目前为止我有:

for a in string.gmatch("this, is, a commaseparated, string", "(.-)[,]") do
  print (a)
end

问题是找不到表中的最后一个条目。在 C 中,可以匹配 NULL 来检查是否位于字符串的末尾。 Lua中有类似的东西吗?

Is there a way to iterate over a comma-separated string, then doing something with the matches? So far I have:

for a in string.gmatch("this, is, a commaseparated, string", "(.-)[,]") do
  print (a)
end

The problem is the last entry in the table is not found. In C it is possible to match against NULL to check whether you are at the end of a string. Is there something similar in Lua?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

若水微香 2024-11-02 18:51:11

试试这个:

for a in string.gmatch("this, is, a commaseparated, string", "([^,]+),?") do
    print (a)
end

正则表达式模式 ([^,]+),? 捕获一个或多个非逗号字符,并且可以选择在其后跟一个逗号。

Try this:

for a in string.gmatch("this, is, a commaseparated, string", "([^,]+),?") do
    print (a)
end

The regex pattern ([^,]+),? captures one or more non-comma characters that are optionally followed by a comma.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文