正则表达式由一个特殊字符和一组字母组成

时间:2017-08-04 19:54:16

标签: regex text google-sheets extraction

使用Regex,我试图使用单个Regex命令从每个字符串中取回以下内容(星形表示我想要提取的内容):

FO4H56FD-BTU (Follow Home 56): PLTD8

\***********

FO4H56FD-SYH-BI (Follow Home 56 SYH): PLTD8

\***********

FO4H52FD-SZH-AG4R-BI (Follow Home 52 SAH): QQTD8

\****************

FO4H58FD-SGH: (Follow Home 58 TGT): PLTS8

\***********

出于某种原因,我遇到了很多困难。我一直在使用各种方法,目前=REGEXEXTRACT(A43,"(FO.+)\-BI")无效。我也不是在寻找:。我使用|来表示多项规则似乎没有成功。

1 个答案:

答案 0 :(得分:2)

您可以使用

=REGEXEXTRACT(A43,"^(.*?)(?:-BI)?(?:[ :]|$)")

enter image description here

<强>详情:

  • ^ - 字符串开头
  • (.*?) - 尽可能少地捕获与任何0+字符匹配的组#1
  • (?:-BI)? - 一个可选的非捕获组,匹配1或0次-BI子串
  • (?:[ :]|$) - 空格,:或字符串结尾