我在另一篇文章中发现了这种模式:
Pattern p = Pattern.compile("[^xyz]"); s.replaceAll(p.pattern(), "-");
它允许替换除x,y和z之外的所有字符
我们如何调整它来反过来替换所有?例如,我想保留xyz和单词dog
例如:
“abcxyzabcxyzdfrdogdzx” - >“xyzxyzdogzx”
谢谢
为此,您需要捕获全局所需的单词,并将匹配项连接在一起。
在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);