gpt4 book ai didi

javascript - 如何使用 Javascript 从 LINUX 命令字符串中解析标志值

转载 作者:行者123 更新时间:2023-12-03 06:29:40 25 4
gpt4 key购买 nike

我正在使用 http/scheduler,获取这些任务具体信息的唯一方法是读取如下所示的字符串

let str = "go run tasks/action/main.go --channel=2 --state=true --username=scheduler "


let channel = ?
let state= ?

最佳答案

更可靠的方法是使用正则表达式来解决这个问题。因为即使以相反的方式指定 statechannel 选项,您也可以保证它能够正常工作。

我不是正则表达式专家,所以如果有人能给我推荐一个更好的正则表达式,我会非常高兴。

方法:

let str = "go run tasks/action/main.go --channel=211 --state=true --username=scheduler ";

let channel = /--channel=(.+?)\s/.exec(str)[1];
let state= /--state=(.+?)\s/.exec(str)[1];

请注意,我的锚定基于每个 option.value 后面都有一个空格 \s 的想法,我认为这适用于 OP 的用例,但是如果 1 个 option.value 后面没有空格,则不会。例如。 “go run blah --state=true”

基本上,我去那里就是告诉 Regexr“嘿,去找 --channel= 字符串并捕获它后面的所有字符,直到看到下一个空格(非贪婪)”。

假设:
我还假设选项 channelstate 总会有一些东西需要捕获。如果正则表达式没有捕获任何内容,您将得到数组索引越界。为了安全起见,可能会添加一个保护声明以确保它匹配某些内容。

关于javascript - 如何使用 Javascript 从 LINUX 命令字符串中解析标志值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38493756/

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