Regex 记事本中的正则表达式++;以文本开始和结束,并删除所有不匹配的文本

Regex 记事本中的正则表达式++;以文本开始和结束,并删除所有不匹配的文本,regex,notepad++,Regex,Notepad++,我想编写一个正则表达式,以字符串“Row data=”开头,以字符串“.”结尾,然后删除所有不匹配的文本。我该怎么做 示例日志文件: [ERROR] 2016-07-01 17:17:05,263(2715503)-->[main] csvRowToObject(ApmInfoCSVDao.java:93): Error occured while parsing ApmInfo Object: usrid=2111840, Row data=2111840 ABC XYZ

我想编写一个正则表达式,以字符串“Row data=”开头,以字符串“.”结尾,然后删除所有不匹配的文本。我该怎么做

示例日志文件:

[ERROR] 2016-07-01 17:17:05,263(2715503)-->[main] csvRowToObject(ApmInfoCSVDao.java:93): Error occured while parsing ApmInfo Object: usrid=2111840,
 Row data=2111840   ABC     XYZ EFC 1971-03-27 00:00:00.000 1971    03  27  1   111064287   1114007  SA:E1801.  
java.text.ParseException: Unparseable date: "XYZ EFC"
    at java.text.DateFormat.parse(DateFormat.java:357)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
[ERROR] 2016-07-01 17:17:05,325(2715565)-->[main] csvRowToObject(ApmInfoCSVDao.java:93): Error occured while parsing ApmInfo Object: usrid=2058318,
 Row data=2058318   PP      XX YY   1970-07-27 00:00:00.000 1970    07  27  1   111049159   1065120  SA:332.  
java.text.ParseException: Unparseable date: "XX YY"
    at java.text.DateFormat.parse(DateFormat.java:357)
我想获得:

Row data=2111840    ABC     XYZ EFC 1971-03-27 00:00:00.000 1971    03  27  1   111064287   1114007  SA:E1801.  
Row data=2058318    PP      XX YY   1970-07-27 00:00:00.000 1970    07  27  1   111049159   1065120  SA:332.  
以下是显示所有隐藏字符(空格和制表符)后的真实文本:

Row data=2111840ABCXYZEFC1971-03-27 00:00:00.000197102711110642871114007sa:E1801。
我尝试搜索regexp
^Row data*\)$,但它显示0个匹配项

如何在记事本++中执行此操作


谢谢你的帮助

行的开头使用负数前瞻,结尾使用负数字符类:

Search: ^((?! Row data=).*|.*[^.\s])\s*[\r\n]+
Replace: <blank>
Search:^((?!Row data=).*+
替换:
这将删除以
“Row data=“
开头但不以点结尾的行,反之亦然

使用问题中的样本输入进行测试。

这应该可以:

查找:
^(?(\s*行数据=。+\)。+(\n\r)*


替换为空。

谢谢,伙计,我已经更新了我的问题。此处为真实文本数据(显示所有隐藏字符):行数据=2111840ABCXYZEFC1971-03-27 00:00:00.000197102711110642871114007SA:E1801。@sdev尝试修改答案
Search: ^((?! Row data=).*|.*[^.\s])\s*[\r\n]+
Replace: <blank>