正则表达式后视表达式与 IE 不兼容

regex look-behind expression incompatibily with IE

我正在使用这个正则表达式作为输入。当我在 Chrome 中尝试时,效果很好,但在 IE 中尝试时却不行。我正在使用的正则表达式编辑器告诉我负向后视表达式不适用于某些浏览器。

如何调整表达式以使其适用于 IE?我正在使用它来使无法以 /.

结束输入

(^(?!.*\/\/)^(?!^\/)[A-Za-z0-9\/\-?:().,'+\s]+(?<!\/))

否定后视表达式在 IE 中不起作用:

(?<!\/))

在此先致谢并致以最诚挚的问候。

如果您不想在字符串末尾使用 /,您可以添加另一个先行。

^(?!.*\/\/)^(?!^\/)(?!.*\/$)[A-Za-z0-9\/\-?:().,'+\s]+

Regex demo

但在那种情况下,使用 / 不在字符 class 中但可选择在字符 class.[=17 之前重复的版本可能更容易=]

这样,就不能出现在字符串的首尾,也不能出现//

^[A-Za-z0-9?:().,'+\s-]+(?:\/[A-Za-z0-9?:().,'+\s-]+)*$

Regex demo