如何在不删除“ ^”的情况下替换以下^?

亚历山大城

我要替换^以下字符串中的:

var string = 'I\'M SORRY,”^ mutters a strangely familiar voice.'

我正在这样做:

string.replace(/\b\^|(\.|\,|\?|\!|---|\.\.\.\s)\^|(["]|&rdquo;)\^/g, '$1</b>')

但我删除了&rdquo;

I'M SORRY,</b> mutters a strangely familiar voice.

我想写这就是:更换^</b>当它是一个后"&rdquo;

我也尝试这样做:

string.replace(/\b\^|(\.|\,|\?|\!|---|\.\.\.\s)\^|(?=(["]|&rdquo;))\^/g, '$1</b>')

但是^不会被替换:

I'M SORRY,&rdquo;^ mutters a strangely familiar voice.

正确的做法是什么?

维克多·史翠比维

您正在使用反向引用将捕获的零件保留在结果中。

您的正则表达式有2个捕获组:

/\b\^|([.,?!]|---|\.{3}\s)\^|("|&rdquo;)\^/g
      |------1-----------|   |----2----|

因此,要保留这两个捕获的零件,您需要添加$1 添加$2到替换模式:

"$1$2</b>"

正则表达式演示

另外,请注意,["]它等于"并且(\.|\,|\?|\!|---|\.\.\.\s)缩短为([.,?!]|---|\.{3}\s)(这样,您也将避免溢出)。

另外,请注意,分支仅在捕获组方面有所不同,它们都以\^模式结尾因此,您可以将分支合并为一个:

/(\b|[.,?!"]|---|&rdquo;|\.{3}\s)\^/g

然后替换为您拥有的内容"$1</b>"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不删除依赖的情况下删除deb

vim:如何在不删除所有“:”的情况下替换模式中的“:”?

如何在不删除的情况下进行zip压缩?

如何在不删除约束的情况下“禁用”它们?

如何在不删除 Windows 的情况下安装 Ubuntu?

如何在不删除Gnome的情况下删除主显节?

如何在不删除不包含CDATA的元素的情况下删除CDATA?

如何在不删除Linux中其他行的情况下删除标题?

PHP Storm:如何在不删除文件的情况下删除项目

如何在不删除其他重要系统组件的情况下删除线性调频?

如何在不删除命名空间声明的情况下删除命名空间名称

如何在不删除弹性搜索数据的情况下删除索引的默认映射

如何在不删除指定文件的情况下反转目录中的删除文件

Angular:如何在不删除子级的情况下删除包装器(父元素)?

git stash drop:如何在不删除最新X的情况下删除旧的隐藏状态?

如何在不删除表的情况下删除Django模型

如何在不删除其他符号的情况下删除特定的ELF部分?

如何在不删除Linux本身的情况下删除最新内核

如何在不删除更改的情况下删除远程提交

如何在不删除回收站视图中的位置的情况下删除项目?

如何在不删除底图的情况下从叶中删除 Geojson 数据?

如何在不删除约束的情况下从表中删除

如何在不删除元素的情况下删除jQuery UI元素?

如何在不删除括号的情况下删除括号内的内容

如何在不删除其中的文件的情况下删除 git repo

如何在不删除操作栏的情况下删除android studio中的顶级

如何在不删除先前数据的情况下插入json文件?

如何在不删除终端的情况下增加交换文件的大小?

如何在不删除项目的情况下窥视Linux(POSIX)消息队列?