Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何测试以确定浏览器是否支持JS regex lookahead/lookahead?_Javascript_Regex - Fatal编程技术网

Javascript 如何测试以确定浏览器是否支持JS regex lookahead/lookahead?

Javascript 如何测试以确定浏览器是否支持JS regex lookahead/lookahead?,javascript,regex,Javascript,Regex,我有一个string.replace()函数,它使用regex lookback myString.replace(/(?<!\\)'/gi, '"') myString.replace(/(?这将在chrome上返回true,在safari上返回false,没有任何语法错误: function supportsRegexLookAheadLookBehind() { try { return ( "hibyehihi" .re

我有一个
string.replace()
函数,它使用regex lookback

myString.replace(/(?<!\\)'/gi, '"')

myString.replace(/(?这将在chrome上返回
true
,在safari上返回
false
,没有任何语法错误:

function supportsRegexLookAheadLookBehind() {
  try {
    return (
      "hibyehihi"
        .replace(new RegExp("(?<=hi)hi", "g"), "hello")
        .replace(new RegExp("hi(?!bye)", "g"), "hey") === "hibyeheyhello"
    );
  } catch (error) {
    return false;
  }
}
函数支持regexlookaheadlookback(){
试一试{
返回(
“hibyehihi”

.replace(新的RegExp(“(?您应该编写一次正则表达式,以实现尽可能大的兼容性。了解浏览器是否支持lookbehinds有什么好处?您是否计划创建多个正则表达式?如果是这样,那么您的备用正则表达式在任何方面都是交叉兼容的,那么为什么要坚持使用lookbehind?这只会造成维护方面的麻烦。Fa这个问题更多的是为了满足我的好奇心,即某人如何管理新ES功能的集成,而不是为特定的生产应用程序找到解决方案。