【发布时间】:2013-05-28 07:52:37
【问题描述】:
我尝试使用正则表达式提取 name1(第一行)、name2(第二行)、name3(第三行)和街道名称(最后一行):
Company Inc.
JohnDoe
Foobar
Industrieterrein 13
最后一行是街道名称,这部分已经在工作(文本存储在变量“S2”中)。
REGEXREPLACE(S2, "(.*\n)+(?!(.*\n))", "")
这个表达式将返回给我最后一行。我也可以提取第一行:
REGEXREPLACE(S2, "(\n.*)", "")
我的问题是,我不知道如何提取第二行和第三行....
另外,我如何测试文本是否包含一、二、三行或更多行?
更新:
正则表达式用于 Scribe(一种 ETL 工具)的上下文中。问题是我无法执行源代码,我只有以下功能:
-
REGEXMATCH(input, pattern) REGEXREPLACE(input, pattern, replacement)
【问题讨论】:
-
您使用什么编程语言?否则我们怎么知道如何测试有多少行?
-
不需要正则表达式,至少不需要高级模式匹配 - 只需 split 换行符上的文本(使用您的语言提供的任何拆分实现)。
-
可能比我的正则表达式解决方案@CBroe 更好的答案
-
正则表达式用于 Scribe(一种 ETL 工具)的上下文中。问题是我无法执行源代码,我只有以下函数:“REGEXMATCH(input, pattern)”和“REGEXREPLACE(input,pattern,replacement)”
-
语言是否允许前瞻?
标签: regex