从Excel中的字符串模式之后的单元格中提取文本

时间:2018-11-07 19:42:30

标签: regex excel database

我有一个电子表格,每个单元格中都有大量数据,但是我只想提取特定的信息,包括第一个日期,直到单词“ Base”为止:

从->

[extra data] 10APR18 [in between text] 11JUL18 [in between text] etc. Base [extra data]

TO->

10APR18 [in between text] 11JUL18 [in between text] etc.

我对所需的语法不太熟悉,但是我猜想它将提取所有内容的所有行都包含在内:“(数字)(数字)(字母)(字母)(字母)(数字)(数字)到“基础”

如果有人可以提出解决方案或将我指向正确的方向,我将非常感激。谢谢!

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

(\d{2}[A-Za-z]{3}\d{2}.*)Base

示例:https://regex101.com/r/AO1qmW/1

说明:

  • (\d{2}[A-Za-z]{3}\d{2}.*)-从日期开始捕获,直到Base
    • \d{2}-匹配两位数字
    • [A-Za-z]{3}-匹配三个字母,大写或小写
    • \d{2}-再匹配两位数字
    • .*-匹配日期之后的所有内容(直到Base
  • Base-匹配Base,但未捕获

您也可以使用积极的前瞻方式,不必担心捕获/不捕获组,因为您只会匹配所需的内容:\d{2}[A-z]{3}\d{2}.*(?=Base)

唯一的区别是删除了组括号并将Base替换为(?=Base),如果前一个表达式后跟Base,则匹配。

示例:https://regex101.com/r/SPzslJ/1