正向后视正则表达式的替代方案

Alternative to positive lookbehind regex

我正在使用 Prism.js 进行语法高亮显示,我有一个用于检测 Kotlin 中缀函数 (?<=\w\s)(\w+)(?=\s\w) (https://regex101.com/r/wVSO6G/1) 的正则表达式,它使用正向前视和正向后视,但是这在破坏我的整个网站的 Safari 浏览器上不起作用。
我看到了涉及使用匹配器的替代方案,但我没有那个选项,因为我只能提供正则表达式,例如:

"infix": [
  {
    pattern: /(?<=\w\s)(\w+)(?=\s\w)/,
  },
],

是否有适用于 Safari 的替代方案?

如果您只能提供一个正则表达式并且突出显示整个匹配值,则无法模仿当前的lookbehind 模式。你能想到的最好的是像这样的正则表达式 /\b\s(\w+)(?=\s\w)/ 这也会突出显示前导空格(除非有一个选项可以只突出显示某些组值)。

如果您可以调整内部代码,则可以使用组替换:找到 /(\w\s)(\w+)(?=\s\w)/ 并替换为 <span class="highlight"></span>