Talend-tFileInputRegex
我的目标是使用正则表达式解析多个文本文件,并基于匹配复制文件重命名它(包括文件名中的正则表达式匹配字符串): 使用tFileInputRegex的Talend项目概述: 正则表达式应该找到所有匹配“Invoice-xxxxx”或“Num.Ord-yyyyy”的行 所以我可以有这样的文件(发票-10044165 RI): 或者像这样(Num.Ord-50006427): 我试图弄明白如何让一个工作或正则表达式搜索包含“Num.Ord”或“Invoice”的行。 我已经使用regex解析器进行了在线测试,这一个很有效:Talend-tFileInputRegex,regex,talend,Regex,Talend,我的目标是使用正则表达式解析多个文本文件,并基于匹配复制文件重命名它(包括文件名中的正则表达式匹配字符串): 使用tFileInputRegex的Talend项目概述: 正则表达式应该找到所有匹配“Invoice-xxxxx”或“Num.Ord-yyyyy”的行 所以我可以有这样的文件(发票-10044165 RI): 或者像这样(Num.Ord-50006427): 我试图弄明白如何让一个工作或正则表达式搜索包含“Num.Ord”或“Invoice”的行。 我已经使用regex解析器进行了在
[\n\r].*(Invoice|Num.Ord)\s*-\s*([^\n\r]*)
当我尝试在Talend componenttFileInputRegex
中导入时,使用适当的符号表示,它不起作用(上没有匹配项或“Num.Ord”):
最后,我用另一个tFileInputRegex Talend组件再次解析,其中的文件被第一个组件拒绝: Talend作业架构:
您的正则表达式似乎不必要地复杂。不适合你吗?编辑:编辑为包含整行而不仅仅是相关部分可能需要一个DOTALL,请尝试
(?s)。*(Num\\\.Ord | Invoice)\\s*-\\s*([^\n\r]+).
Hi,thx,但Talend上的两种方式都不起作用!我无法理解为什么如果我尝试在线(regex.com)这个regx“([\n\r]).*(Num\.Ord | Invoice)\s*-\s*([^\n\r]+).*”和这个“[\n\r].*Invoice\s*-\s*([^\n\r]*)”产生相同的输出,这实际上是我的目标。我是不是错过了一些要放在泰伦德身上的东西?thxscreenshot关于在线正则表达式测试:以及
Company XXX, LLC Page Number- 1
P.O. Box 26610 I N V O I C E Date - 02/15/05
Miami, MI 64196 Customer - 20035
Num.Ord - 50006427
Brn/Plt - 100780000
REMIT TO:
.
126 Ctest
Chicago, IL
[\n\r].*(Invoice|Num.Ord)\s*-\s*([^\n\r]*)
"[\\n\\r].*(Invoice|Num.Ord)\\s*-\\s*([^\\n\\r]*)"