为什么赢了';这个regexp在谷歌电子表格中不起作用吗?
我正在尝试使用谷歌电子表格中的regexp从url中提取。但是,电子表格返回为什么赢了';这个regexp在谷歌电子表格中不起作用吗?,regex,spreadsheet,expression,Regex,Spreadsheet,Expression,我正在尝试使用谷歌电子表格中的regexp从url中提取。但是,电子表格返回#值出现以下错误:无效的正则表达式:无效的perl运算符:(?听起来像Google Docs使用的任何正则表达式引擎都不支持查找断言。它们是相对罕见的功能 但是如果您使用捕获,REGEXEXTRACT将返回捕获的文本,因此您可以这样做: =REGEXEXTRACT( B1 ; "raid_boss=([a-zA-Z0-9_]+)" ) Javascript不是问题所在——Google Sheets使用的是缺少查找功能的
#值代码>
出现以下错误:无效的正则表达式:无效的perl运算符:(?听起来像Google Docs使用的任何正则表达式引擎都不支持查找断言。它们是相对罕见的功能
但是如果您使用捕获,REGEXEXTRACT将返回捕获的文本,因此您可以这样做:
=REGEXEXTRACT( B1 ; "raid_boss=([a-zA-Z0-9_]+)" )
Javascript不是问题所在——Google Sheets使用的是缺少查找功能的Javascript 以及其他有用的东西 您可以使用:
regexextract(B1, ".*raid_boss=(.*)")
或者本机工作表函数,如FIND、SUBSTITUTE(如果不起作用)
找到一个好的正则表达式测试工具是很棘手的-例如,你可以在GSheets中制作一些工作正常但失败的东西。你需要确保你的工具支持RE2风格,例如:谢谢,工作正常!一个朋友刚刚给我展示了另一个版本=regexextract(B1,.*raid_boss=(*),它在google中工作正常,但有奇怪的(不希望的)特性结果在我的编辑器中。哦,好吧,什么是有效的。你不需要
*
;regexextract正则表达式没有锚定。如果在raid\u boss查询参数结束的字符串之后出现另一个,你朋友的将得到不理想的结果-它将获取以&结尾的最长字符串,而你的raid boss将以长的am结束persand包含名称。在Javascript中查找功能不可用。