应用场景
我希望能够高亮自定义的一些类名,但是无法区分出不在clasName内部还是外部
代码示例:
var str = 'className="aic jcc" jcc';
str.match(/(?<=(class.*))\b(aic|jcc)\b/g) // ["aic", "jcc", "jcc"]
我只希望匹配到 className 内部的 aic和jcc
应用场景
我希望能够高亮自定义的一些类名,但是无法区分出不在clasName内部还是外部
代码示例:
var str = 'className="aic jcc" jcc';
str.match(/(?<=(class.*))\b(aic|jcc)\b/g) // ["aic", "jcc", "jcc"]
我只希望匹配到 className 内部的 aic和jcc
2021/04/11
我觉得可以分多次处理
str.replaceAll(/class\w*?={?[`"'](.*?)[`"']}?/g, s => s.replace(/\b(aic|jcc)\b/g, s => `@@${s}@@`))
/(?<=class\w*?={?[`"'].*?\b)(aic|jcc)(?=\b.*?[`"']}?)/g
自认为覆盖了大多数奇怪的地方了
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
效果:


正则: