regex 如何使用正则表达式获得一个字符串数组的三元运算符?[已关闭]

ct3nt3jp  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(101)

已关闭,此问题需要details or clarity。它目前不接受回答。
**想改善这个问题吗?**通过editing this post添加详细信息并澄清问题。

25天前关闭
Improve this question
有一个任务是为一个没有嵌套的三元运算符创建一个正则表达式。我被困在这了。请帮帮我!
正则表达式的字符串:

let str = "!(a == b) && (c == d) ? value1 : 'value2'"

使用regex的脚本的结果:

let result = ["!(a == b) && (c == d)", "value1", "'value2'"]

结果是一个包含字符串的数组。条件是一个简单表达式的行,没有双问号。只有逻辑运算符。
我试着做regex,但它不工作。

bvhaajcl

bvhaajcl1#

试试这个

let str = "!(a == b) && (c == d) ? value1 : 'value2'";

let regex = /([^\?]+)\s+\?\s+(.+?)\s+:\s+(.+)/;
let result = str.match(regex).slice(1);

console.log(result);

结果如下:

["!(a == b) && (c == d)", "value1", "'value2'"]

相关问题