用字符串模式或字符串操作在lua中搜索和替换一个模式。

我得到了系统上的域名列表,并且需要替换仅包含“domain\username”模式的模式为“*”。

目前,我能够使用string.gsub()掩码域名,但我应该添加什么模式以确保替换任何domain\username的存在为*。

例子: 如果在系统上有2个域名test.comwork-user.com,以及用户为adminguest,一个文件具有以下细节:

用户尝试从TEST\admin登录; 但应该从work-user\user1登录,没有测试\guest的日志,帐户。 test.com和WORK-USER.org域处于活动状态,TESTING域处于非活动状态。

然后输出应如下所示:

用户尝试从*********登录; 但应该从*****************\user1登录,没有测试\ *****的日志,帐户。 ****.com和*********.org域处于活动状态,TESTING域处于非活动状态。

由于Testing和user1不是该系统上的域名和用户名,因此不应替换它们。

我可以在任何给定格式中独立替换用户名和域名,但是当它是domain\username格式时,我无法替换它。

在获取域名后,我必须添加一些逻辑\模式,以使它符合上述要求。请告诉我如何继续?

我尝试了以下代码:

test_string="User tried to login from TEST\\admin; but should have logged in from work-user\\user1, No logs present for testing\\guest, account. The domain test.com and WORK-USER.org are active and TESTING domain in inactive" s= "test" t=( string.gsub(s.."$DNname", "%$(%w+)", {DNname="\\([%w_]+)"}) ) n=( string.gsub(s.."$DNname", "%$(%w+)", {DNname="\\([%a%d]+)([%;%,%.%s]?)"}) ) print (t) print(n) r=string.match(test_string,t) res=string.match(test_string,n) print(r) print(res)

它打印nil,并且无法匹配任何模式。

点赞