使用时的“SyntaxError:unterminated regular expression literal”(?<= lookbehind断言

问题描述 投票:2回答:1

我在不同的浏览器中获得此JavaScript代码的不同错误:

    var updatedate = /(?<=\<meta\ name\=\"updated_at\"\ content\=\")([^\"]*)/;

我想要的是从某些页面的元数据中找到更新日期。它显示如下:

<meta name="updated_at" content="2018-09-17 11:42 AM">

我使用Sublime来确保它的工作原理,然后我在regex101上进行了测试以确定,但Chrome和Mozilla一直给我这个错误。

我错过了什么?

javascript regex lookbehind
1个回答
0
投票

(?<=...) lookbehind assertion最近才加入ECMAScript。它受最新版Chrome支持,但不支持Firefox。

重写正则表达式以使用普通组:

var updatedate = /(?:\<meta\ name\=\"updated_at\"\ content\=\")([^\"]*)/;

然后,您可以通过访问data.match(updatedate)[1]来提取时间戳。

© www.soinside.com 2019 - 2024. All rights reserved.