gpt4 book ai didi

javascript - 替换 RegExp - 否定模式

转载 作者:行者123 更新时间:2023-11-30 18:08:42 26 4
gpt4 key购买 nike

我有带有“contenteditable”的 div。我想在这个 div 中过滤字符,当 [^ą-źa-z0-9\s] AND NOT ( ) 时,我必须更改颜色字符,不匹配模式.例如,当我得到 $(this).html() 时:dfgtąść45%$#tg ss&k; - 我想更改为红色粗体字符。

JS:

var t = $(this).html().replace(/<\/?[^>]+>/gi, '').replace(/\s$/, '&nbsp;');
t = t.replace(/(&nbsp;)[^ą-źa-z0-9\s]/ig,function(match){return '<span style="color: red;">' + match + "</span>";});
$(this).html(t);

最佳答案

这是一种方法

t = t.replace( /(&nbsp;)|(?:(?!&nbsp;)[^ą-źa-z0-9\s])+/ig,
function ( match, nbsp ) {
return nbsp ? nbsp : '<span style="color: red;">' + match + "</span>";
});

请注意,尽管不建议以这种方式操作 html:例如,元素属性中与否定字符类匹配的任何字符都将被错误地包含在 span 标记中。

关于javascript - 替换 RegExp - 否定模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15154613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com