Javascript 如何在多行中获取值
我想得到控件“con1,con2.con3”的值 我试过这个模式Javascript 如何在多行中获取值,javascript,regex,Javascript,Regex,我想得到控件“con1,con2.con3”的值 我试过这个模式 var imput = function({ a: "val", b: "${version}", c: ["c"], d: [], e
var imput = function({
a: "val",
b: "${version}",
c: ["c"],
d: [],
e: [],
controls: ["con1,"con2",
"con3"
],
elements: []
});
当所有控件都在一条线上时,它就工作了
如果值在单独的行中,我该怎么做?
表示除换行符以外的任何字符。通常情况下,您必须激活s
(单线)选项以使其执行您想要的操作,但这在JS中不可用
解决方法是将
替换为类似[\s\s]
的内容,这意味着:任何与任何字符相同的空白字符或非空白字符
最终结果(略有改善):
请注意,我使用了一个ungreedy量词,以便模式在遇到]
时立即停止
您甚至可以简化此过程:
controls\s*:\s*\[([\s\S]*?)\]
[^\]]
表示除]
以外的任何字符
controls\s*:\s*\[([^\]]*)\]
“
在con1
失误之后,您的代码根本没有任何意义。即使您修复了丢失的“
,代码也无效。
controls\s*:\s*\[([^\]]*)\]
controls\s*:\s*\[([\s\S]*?)\]