在 javascript 中使用正则表达式从内到外获取 pharanteses 之间的全部内容
Posted
技术标签:
【中文标题】在 javascript 中使用正则表达式从内到外获取 pharanteses 之间的全部内容【英文标题】:Get entire content between pharanteses using regex from the inside to out in javascript 【发布时间】:2021-10-24 04:46:37 【问题描述】:例子
var str = "%function1(%function2(%function2(content)))"
我想在 pharanteses 之间从内到外获得完整的输出
输出
[
[
'%function2(content)',
'content',
'--'
],
[
'%function2(%function2(content))',
'%function2(content)',
'--'
],
[
'%function1(%function2(%function2(content)))',
'%function2(%function2(content))',
'--'
]
]
【问题讨论】:
【参考方案1】:可能是这样的:
const str = "%function1(%function2(%function2(content)))";
const parts = str.split(/([()])/);
const middle = Math.floor(parts.length / 2);
const levels = [parts[middle]];
for (let i = middle - 1, j = middle + 1; i > 0; i -= 2, j += 2)
levels.push(
`$parts[i - 1]$parts[i]$levels[levels.length - 1]$parts[j]$parts[j + 1]`
);
const result = [];
for (let i = 0; i < levels.length - 1; i++)
result.push([levels[i + 1], levels[i], '--']);
console.log(JSON.stringify(result, null, ' '));
【讨论】:
以上是关于在 javascript 中使用正则表达式从内到外获取 pharanteses 之间的全部内容的主要内容,如果未能解决你的问题,请参考以下文章