我有一个电子表格,每个单元格中都有大量数据,但是我只想提取特定的信息,包括第一个日期,直到单词“ 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.
我对所需的语法不太熟悉,但是我猜想它将提取所有内容的所有行都包含在内:“(数字)(数字)(字母)(字母)(字母)(数字)(数字)到“基础”
如果有人可以提出解决方案或将我指向正确的方向,我将非常感激。谢谢!
答案 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
,则匹配。