我需要从一个大字符串中提取一个字符串。是否可以使用正则表达式来提取字符串:
4567 Test Assembling the Plant(4566) [2] WAST Testing1<CR><LF>
ERTW Test the second assembly [3] JEST Test4<CR><LF>
V345 This is another test (FAR X) [9] KERT Test192<CR><LF>
-- This is test Number 10 [6] <CR><lf>
Test100<CR><LF>
Number of the testing assembly (1234) Test the plant assembly <CR><LF>
V234 Testing the WIRE ASSEMBLY Test this assembly (12345-7876544) [9] <CR><LF>
C34567 This is another test assembly (123456) [6] trew43 This is test assembly<CR><LF>
RT234 Testing the assembly1100 PQR Testing assembly<CR><LF>
PL234 Test RET<CR><LF>
我可以使用正则表达式提取上述数据并将其插入数据库
Table1
Col1 Col2 COL3 Col4
4567 Test Assembling the Plant(4566) [2] WAST Testing1
ERTW Test the second assembly [3] JEST Test4
V345 This is another test (FAR X) [9] KERT Test192
-- This is test Number 10 [6]
Number of the testing assembly (1234) Test the plant assembly
V234 Testing the WIRE ASSEMBLY Test this assembly (12345-7876544) [9]
C34567 This is another test assembly (123456) [6] trew43 This is test assembly
RT234 Testing the assembly1100 PQR Testing assembly
PL234 Test RET
是否可以使用正则表达式或基于列号提取上述内容。
任何帮助将不胜感激。
答案 0 :(得分:0)
听起来问题是每个数据字段中的多个空格。它们看起来像是在单词之间的单个空格或在开头之前的多个空格(或[。 所以我将它们转换为单个空格,然后根据三个或更多空格将这些字段分开。然后我使用“||”的字段分隔符来清晰
cat file1 file2 | perl -pe 's/\s+\(/ \(/g;s/\s+\[/ \[/g' | perl -pe 's/\s{3,}/ \|\| /g' | perl -pe 's/<CR>.*//'
每行输出都是这样的。订购仅基于猫。
答案 1 :(得分:0)
是的,您可以使用Regex从大数据中提取字符串。正则表达式空格没问题。
\ s - &gt;任何空格字符