javascript - 仅在边界内替换特定字符

标签 javascript regex

仅在边界内替换特定字符。

例如,仅当包含在单引号内时才替换 html 实体。

输入:

<i>Hello</i> '<i>How are you</i>'

输出:

<i>Hello</i> '&lt;i&gt;How are you&lt;/i&gt;'

最佳答案

您可以将 replace 与回调一起使用:

var s = "<i>Hello</i> '<i>How are you</i>'";

var r = s.replace(/('[^']+')/g, function($0, $1) {
                     return $1.replace(/</g, '&lt;').replace(/>/g, '&gt;'); });
//=> <i>Hello</i> '&lt;i&gt;How are you&lt;/i&gt';

关于javascript - 仅在边界内替换特定字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29400235/

相关文章:

php - 正则表达式,其中数字可以连续以 9 但不能以 999 开头

php - 在这种情况下,哪个更适合匹配正则表达式或 parse_url

javascript正则表达式重复括号

javascript - 递归地从 JavaScript 对象中删除空值

Javascript,如何删除括号前的值以及它自己的括号

javascript - jQuery,单选按钮的动态名称更改

javascript - 将字符限制为 5000 的正则表达式

javascript - 将数据从 Controller 传递到 JavaScript

javascript - 从数组内的数组获取数据未按预期工作

regex - 围绕外部定界符拆分字符串,尊重字符组