反向替换所有使用字符和单词

问题描述 投票:-1回答:1

我在另一篇文章中发现了这种模式:

Pattern p = Pattern.compile("[^xyz]"); s.replaceAll(p.pattern(), "-");

它允许替换除x,y和z之外的所有字符

我们如何调整它来反过来替换所有?例如,我想保留xyz和单词dog

例如:

“abcxyzabcxyzdfrdogdzx” - >“xyzxyzdogzx”

谢谢

regex
1个回答
2
投票

为此,您需要捕获全局所需的单词,并将匹配项连接在一起。

在JS中:

/([xyz]|dog)/g

分解:

  • [xyz] - 列表x,y,z中的任何字符
  • dog - 字面上匹配dog
  • ([xyz]|dog) - 捕获列表,或狗
  • /g - 全局修饰符

let string = "abcxyzabcxyzdfrdogdzx",
  regex = /([xyz]|dog)/g,
  whatWeAreLookingFor = string.match(regex).join("");

console.log(whatWeAreLookingFor);
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.