【问题标题】:string parsing {{var}}/text{{var}}字符串解析 {{var}}/text{{var}}
【发布时间】:2018-07-19 08:46:45
【问题描述】:

我需要解析跟随字符串const input = '{{var}}/text{{var}}' 结果必须跟随 const result = ['{{var}}', '/text', '{{var}}']。谢谢

【问题讨论】:

  • 你有没有尝试过?
  • @Zyigh 是的,现在有下一个正则表达式/{{\/?[^}}]+}}/g 我尝试添加其他内容以找到没有{{}} 的部分,但没有任何帮助
  • "someTextWhichPossiblyContains{Or}...{{the}Desired{Text}}And{Some}}Remaining{Text".match(/\{\{(?:(?!\}\}).)*\}\}/);
  • @ASDFGerte 感谢帮助,但这并不是我想要的

标签: javascript regex parsing


【解决方案1】:

您需要一个函数来替换文本,但我认为您想要的正则表达式是({{\w+}})(\/\w+)({{\w+}})。这提供了第 1-3 组中的部分,因此您可以按照自己的喜好对其进行格式化。您可能还想添加检查以确保第 1 部分与第 3 部分相同,以避免不匹配的对。

function replace(str) {
    let matches = str.match(/({{\w+}})(\/\w+)({{\w+}})/);
    return str.replace(/({{\w+}})(\/\w+)({{\w+}})/, `['${matches[1]}', '${matches[2]}', '${matches[3]}']`);
}
replace("const input = '{{var}}/text{{var}}'"); // "const input = '['{{var}}', '/text', '{{var}}']'"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-24
    • 2019-08-22
    • 2015-01-01
    • 2014-04-25
    相关资源
    最近更新 更多