【问题标题】:How to group a certain character in regex expression?如何在正则表达式中对某个字符进行分组?
【发布时间】:2019-05-21 15:58:55
【问题描述】:

这是我的正则表达式

/(')([\w\ \,\"]+)(')/g

我想单独对“\”进行分组,以便稍后用其他字符替换它,我该怎么做?

示例https://regex101.com/r/mqO4yL/1

【问题讨论】:

  • replace it with some other character later 是什么意思?
  • 我不认为您的意思是在构建时将" 替换为'。所以,答案是你不能把它分割,所以只是 " 被隔离在一个组中,以供以后替换。 给出的所有答案都是错误的。
  • 你不能分组是整个字符集。你说的是条件逻辑。这超出了任何正则表达式的能力范围。
  • 您不应该使用正则表达式修改 JSON,这种方法几乎永远不会奏效。如果您需要修复一些 JSON,请让 JSON 提供者自己修复它。

标签: regex regex-group regex-greedy


【解决方案1】:

如果没有您在正则表达式中使用的文本示例,很难确定。但是,如果您有类似的东西,它看起来会尝试做的事情:

/'"test"'/g

/'test"'/g

你可以使用:

/(')((\w|\ |\,)*(\")*)*(')/g

第四组会给你双引号。没有这么多组但没有示例文本我不确定,可能有一种更简单的方法。

【讨论】:

    【解决方案2】:

    我的猜测是我们只想捕获",然后用其他所有内容替换它。也许,这个表达式是一个选项:

    ([\s\S]*?)(")?
    

    Demo

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-09
      • 1970-01-01
      • 2015-05-03
      • 2012-02-21
      • 1970-01-01
      • 2022-08-17
      相关资源
      最近更新 更多