ID:P1
标题:飞利浦32PFL4355
描述:经验 电影与最先进的最薄的电影方式 飞利浦的Edge LED电视。十亿显示颜色和隐形扬声器 系统确保您始终是每个场景的一部分 Catgory:LED电视,飞利浦LED电视品牌:飞利浦
制造商:MRP:35890
ID:P2
标题:Philips 40PFL4356
描述:经验 电影与最先进的最薄的电影方式 飞利浦Edge液晶电视。十亿显示颜色和隐形扬声器 系统确保您始终是每个场景的一部分 Catgory:液晶电视,飞利浦液晶电视
品牌:Philips
MRP:55890
上面的示例数据有两条记录(记录可以是多行(每条记录可以是2行或n行))。记录分隔符是两个输入\n\n
。
我的要求:搜索关键字(即LCD
)并使用正则表达式选择整个记录。
答案 0 :(得分:1)
使用.NET各种RegEx,这可以让你关闭:
(?<=^|\r\n\r\n)
(.|\n(?!\r))*?
LCD
(.|\n(?!\r))*
(?=\r\n\r\n|$)
当然,加入这些界限。
第1行确定您希望立即在字符串的开头或新记录开始处开始匹配。
第2行匹配可以在找到的关键字之前的记录部分。可以出现任何字符,但\n
后面不应跟\r
(因为这表示记录的结尾)。问号确保搜索不贪婪。
第3行与您的关键字匹配。
第4行匹配从关键字到记录结尾的内容。与关键字之前一样,这可以是记录结尾的任何内容。
第5行确定了您希望在第4行结束后找到的内容 - 双行中断或字符串结尾。