Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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
Regex 如果存在两个或多个带括号的字符串,如何提取单元格末尾用括号分隔的字符串_Regex_Google Sheets_Split - Fatal编程技术网

Regex 如果存在两个或多个带括号的字符串,如何提取单元格末尾用括号分隔的字符串

Regex 如果存在两个或多个带括号的字符串,如何提取单元格末尾用括号分隔的字符串,regex,google-sheets,split,Regex,Google Sheets,Split,我需要在谷歌电子表格中显示字符串。提取目标是单元格末尾[]括号中的字符串。在单元格的开始或中间的[]括号中的字符串必须被忽略。是否有可能从右侧瞄准细胞 类正则表达式的提取 =IFERROR(REGEXEXTRACT(A1;"\[(.*?)\]");"") 仅适用于带有一个括号的单元格,并复制括号中的内容,我想将其拆分 否则,例如 =SPLIT(CHANGE(A1;"[";"^");"^") 不

我需要在谷歌电子表格中显示字符串。提取目标是单元格末尾[]括号中的字符串。在单元格的开始或中间的[]括号中的字符串必须被忽略。是否有可能从右侧瞄准细胞

类正则表达式的提取

=IFERROR(REGEXEXTRACT(A1;"\[(.*?)\]");"")
仅适用于带有一个括号的单元格,并复制括号中的内容,我想将其拆分

否则,例如

=SPLIT(CHANGE(A1;"[";"^");"^")
不要忽略不相关的括号

例子 原始单元格内容:

[不相关]知识[不相关]Ipsum 123[相关字符串]

我想要一个有:

[不相关的]知识[不相关的]Ipsum 123

另一个单元格具有:

[相关字符串]


您可以在第二个单元格中尝试以下操作:

=IFERROR(REGEXEXTRACT(A1;“[(.*?)]$”)”)

对于第一个单元格:

=左(A1,LEN(A1)-LEN())

资料来源:

UPD:

此外,如果您只能获得第一次出现的内容,则有一种获取最后一次出现的方法:

  • 把绳子倒过来
  • 查找反向字符串中的第一个出现项

  • 未经测试,但也可以尝试

    =regexextract(A1, "(.+?)(\[[^\[]+$)")