使用正则表达式匹配多行多条记录

qq_38370047 2017-08-24 05:51:57
使用正则表达式匹配多行多条记录,将以为文本匹配到下面两个结果集
?SHOP SHA25SEPLAX#F20#R1ADT,0CNN
20 SOLUTIONS FOUND IN 20 GROUP FROM CNY 3611.00 TO 7261.00
************************GROUP 3 (CNY 3901.00)************************
AA182 25SEP PVGLAX 1825 1510 L7 788 S 2 B 11:45

FARE BASIS PTC BASE FARE TAX BAG COMM
LKX00TN3 1ADT 2380.00 1521.00 2PC 0.00%
TOTAL 1 2380.00 1521.00
?SPS:3 ?BOOK:3 ?SPR:3/1 ?SPR:3/2
************************GROUP 4 (CNY 4122.00)************************
CX5809 25SEP PVGHKG 2045 2325 N9 333 D 2 1 02:40 OP-KA809
CX884 26SEP HKGLAX 1255 1110 N5 77W B 1 B 13:15

FARE BASIS PTC BASE FARE TAX BAG COMM
NXKOWCNA 1ADT 3350.00 772.00 2PC 0.00%
TOTAL 1 3350.00 772.00
?SPS:4 ?BOOK:4 ?SPR:4/1 ?SPR:4/2
PAGE 2/10 ?SPB: ?SPN: ?SPF: ?SPL: ?SPG

匹配结果1:
************************GROUP 3 (CNY 3901.00)************************
AA182 25SEP PVGLAX 1825 1510 L7 788 S 2 B 11:45

FARE BASIS PTC BASE FARE TAX BAG COMM
LKX00TN3 1ADT 2380.00 1521.00 2PC 0.00%
TOTAL 1 2380.00 1521.00
匹配结果2
************************GROUP 4 (CNY 4122.00)************************
CX5809 25SEP PVGHKG 2045 2325 N9 333 D 2 1 02:40 OP-KA809
CX884 26SEP HKGLAX 1255 1110 N5 77W B 1 B 13:15

FARE BASIS PTC BASE FARE TAX BAG COMM
NXKOWCNA 1ADT 3350.00 772.00 2PC 0.00%
TOTAL 1 3350.00 772.00

...全文
409 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
MYsce 2017-08-24
  • 打赏
  • 举报
回复
去空
            string input = @"?SHOP SHA25SEPLAX#F20#R1ADT,0CNN                                               
20 SOLUTIONS FOUND IN 20 GROUP FROM CNY 3611.00 TO 7261.00
************************GROUP 3(CNY 3901.00) * ***********************
AA182 25SEP PVGLAX 1825 1510 L7 788 S 2 B 11:45

FARE BASIS PTC BASE FARE TAX BAG COMM
LKX00TN3 1ADT 2380.00 1521.00 2PC 0.00 %
TOTAL 1 2380.00 1521.00
? SPS : 3 ? BOOK : 3 ? SPR : 3 / 1 ? SPR : 3 / 2
************************GROUP 4(CNY 4122.00) * ***********************
CX5809 25SEP PVGHKG 2045 2325 N9 333 D 2 1 02:40 OP - KA809
CX884 26SEP HKGLAX 1255 1110 N5 77W B 1 B 13:15

FARE BASIS PTC BASE FARE TAX BAG COMM
NXKOWCNA 1ADT 3350.00 772.00 2PC 0.00 %
TOTAL 1 3350.00 772.00
? SPS : 4 ? BOOK : 4 ? SPR : 4 / 1 ? SPR : 4 / 2
PAGE 2 / 10 ? SPB : ? SPN : ? SPF : ? SPL : ? SPG";
string pattern = @"\*+.+\*+[\w\W]+?TOTAL[^\n]+";
MatchCollection mc = Regex.Matches(input, pattern);
foreach (Match item in mc)
{

Console.WriteLine(item.Value);
}
MYsce 2017-08-24
  • 打赏
  • 举报
回复
 string input = @"?SHOP SHA25SEPLAX#F20#R1ADT,0CNN                                               
20 SOLUTIONS FOUND IN 20 GROUP FROM CNY 3611.00 TO 7261.00
* ***********************GROUP 3(CNY 3901.00) * ***********************
AA182 25SEP PVGLAX 1825 1510 L7 788 S 2 B 11:45

FARE BASIS PTC BASE FARE TAX BAG COMM
LKX00TN3 1ADT 2380.00 1521.00 2PC 0.00 %
TOTAL 1 2380.00 1521.00
? SPS : 3 ? BOOK : 3 ? SPR : 3 / 1 ? SPR : 3 / 2
* ***********************GROUP 4(CNY 4122.00) * ***********************
CX5809 25SEP PVGHKG 2045 2325 N9 333 D 2 1 02:40 OP - KA809
CX884 26SEP HKGLAX 1255 1110 N5 77W B 1 B 13:15

FARE BASIS PTC BASE FARE TAX BAG COMM
NXKOWCNA 1ADT 3350.00 772.00 2PC 0.00 %
TOTAL 1 3350.00 772.00
? SPS : 4 ? BOOK : 4 ? SPR : 4 / 1 ? SPR : 4 / 2
PAGE 2 / 10 ? SPB : ? SPN : ? SPF : ? SPL : ? SPG";
string pattern = @"\*+.+\*+[\w\W]+?TOTAL[^\n]+";
MatchCollection mc = Regex.Matches(input, pattern);
foreach (Match item in mc)
{

Console.WriteLine(item.Value);
}

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧