1

我正在使用 Prism.js 进行语法突出显示,并且我有一个用于检测 Kotlin 中缀函数(?<=\w\s)(\w+)(?=\s\w)( https://regex101.com/r/wVSO6G/1 ) 的正则表达式,该函数使用积极的前瞻性和积极的前瞻性,但这确实不适用于破坏我整个网站的 Safari 浏览器。
我已经看到了涉及使用匹配器的替代方案,但我没有该选项,因为我只能提供正则表达式,例如:

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

是否有替代方案可以在 Safari 上使用?

4

1 回答 1

1

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

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

于 2022-02-02T20:48:37.577 回答