Regex 记事本中的正则表达式++;以文本开始和结束,并删除所有不匹配的文本
我想编写一个正则表达式,以字符串“Row data=”开头,以字符串“.”结尾,然后删除所有不匹配的文本。我该怎么做 示例日志文件: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
[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>