Safari 브라우저와 일치해야하지만 Chrome 브라우저에서는 Regex를 사용하지 않아야합니다. 나는 대개 정규식에 문제가 없지만 부정적인 look-aheads가 나를 여기저기서 가로 채고있다.Chrome 및 Safari 용 Regex Negative Lookahead
/(?!chrome)(safari)/i.test("Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/536.5 (KHTML, like Gecko) Chrome/19.0.1084.56 Safari/536.5");
왜 이것이 true
을 반환하는지 알 수 없습니다.
'크롬'과 다른 부분 사파리와 일치합니다. (정확하게 이해하면별로 의미가 없습니다.) – pimvdb
흠, 아마 사용법을 잘못 해석했을 것입니다. 문자열 일치 사파리를 사용하려고하지만 문자열이 크롬과 일치하지 않는 경우에만 시도합니다. – dtbarne
[Negative lookahead :] (http://www.regular-expressions.info/lookaround.html)'q (?! u)'는'u'가 뒤 따르지 않는'q'와 일치합니다. 그건 여기서 도움이되지 않을거야. 이 작업에는 실제로 부정적인 lookbehind가 필요합니다 (문자열에는 'Chrome'이 선행되지 않는 Safari가 포함됨). JS는 부정적 lookbehind를 지원하지 않습니다. –