【问题标题】:How i can parse next string:我如何解析下一个字符串:
【发布时间】:2021-05-13 21:12:40
【问题描述】:

我有下一个字符串并试图从每个数组中只获取站点名称字符串

let text = '[[{"value":"Site Name"}]]AAAAAAAA[[{"value":"Site Name"}]]BBBB'

所以,它看起来像这样:

站点名称AAAAAAAAS站点名称BBBB

我尝试过类似的东西

text.replace(/(\[[{"value":")(\w+)(\"}]])/g, '$2'))

但是没用

请帮忙

【问题讨论】:

  • 你的意思是你有let text = '[[{"value":"Site Name"}]]AAAAAAAA[[{"value":"Site Name"}]]BBBB'?如果是,请尝试text.match(/(?<=\[\[{"value":")[^"]*/g)
  • 您的 text 变量无效。它应该是一个字符串吗?一个数组?
  • 您说“...来自每个数组”,但您没有任何数组。

标签: javascript regex string


【解决方案1】:

使用

/\[{2}{"value":"(.*?)"/g

regex proof解释

--------------------------------------------------------------------------------
  \[{2}                    '[' (2 times)
--------------------------------------------------------------------------------
  {"value":"               '{"value":"'
--------------------------------------------------------------------------------
  (                        group and capture to \1:
--------------------------------------------------------------------------------
    .*?                      any character except \n (0 or more times
                             (matching the least amount possible))
--------------------------------------------------------------------------------
  )                        end of \1
--------------------------------------------------------------------------------
  "                        '"'

JavaScript

let text = '[[{"value":"Site Name"}]]AAAAAAAA[[{"value":"Site Name"}]]BBBB'
const matches = text.matchAll(/\[{2}{"value":"(.*?)"/g)
console.log( Array.from(matches, z => z[1]) )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 2016-04-25
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2011-10-29
    相关资源
    最近更新 更多