gpt4 book ai didi

string - Lua 模式用于替换任何单词、字符、数字或符号,后跟特定字符串

转载 作者:行者123 更新时间:2023-12-02 02:22:33 24 4
gpt4 key购买 nike

我想替换 Lua 中的任何单词、字符、数字或符号(; , . 除外),后跟字符串 "some-word\" 。更像是正则表达式中的“*”选项。 Lua中有没有类似'*'的东西?

示例:

some-word\\test -> some-word\\###

some-word\\b*ax#@$6; -> some-word\\###;

some-word\\?foo,> -> some-word\\###,

我正在使用的代码:

d = "some-word" 
p = (tostring(d).."\\[.%c%w%p^%;^%,^%.]+")
c = "###"
s = "testing some-word\\test-2 later some-word\\&^*; some-word\\set_34$ "
print(p)
res = (string.gsub(s,p,c)) print(res)

最佳答案

(some%-word)\[^;,.%s]* 有效,请注意:

  • -是Lua模式中的一个魔术字符,需要对其进行转义。
  • some%-word() 包围,因此可以使用 %1 捕获它。
  • 在字符类中,用^开头表示以下内容的补充。

测试:

d = "some%-word" 
p = "(" .. d .. ")" .. "\\[^;,.%s]*"
c = "%1###"
s = "testing some-word\\test-2 later some-word\\&^*; some-word\\set_34$ "
print(p)
res = string.gsub(s,p,c)
print(res)

输出:

(some%-word)\[^;,.%s]*
testing some-word### later some-word###; some-word###

关于string - Lua 模式用于替换任何单词、字符、数字或符号,后跟特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29271141/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com