我试图在谷歌电子表格中使用正则表达式从网址中提取。但是,电子表格会返回 #VALUE!
并出现以下错误:无效的正则表达式:无效的perl运算符:(?<
以下是我使用的正则表达式:(?<=raid_boss=)[a-zA-Z0-9_]+
示例网址将包含一个显示raid_boss=name
的变量。这个正则表达式应该提取名称。它适用于我的测试程序,但不适用于谷歌电子表格。
以下是Google电子表格中单元格的确切内容:=REGEXEXTRACT( B1 ; "/(?<=raid_boss=)[-a-zA-{}-9_]+" )
非常感谢任何见解或帮助,谢谢!
答案 0 :(得分:2)
听起来像Google Docs使用的正则表达式引擎不支持lookbehind断言。它们是一种相对罕见的特征。
但是如果使用捕获,REGEXEXTRACT将返回捕获的文本,因此您可以这样做:
=REGEXEXTRACT( B1 ; "raid_boss=([a-zA-Z0-9_]+)" )
答案 1 :(得分:0)
Javascript不是问题 - Google表格使用缺少外观的RE2 以及其他有用的东西。
您可以使用:
regexextract(B1, ".*raid_boss=(.*)")
或者本机表函数,如FIND,SUBSTITUTE,如果它不起作用
找到一个好的正则表达式测试工具很棘手 - 例如,你可以创建一些在http://rubular.com/中工作但在GSheets中失败的东西。您需要确保您的工具支持RE2风格,例如:https://regoio.herokuapp.com/