【发布时间】:2018-02-23 19:34:31
【问题描述】:
我正在尝试创建一个正则表达式,它只匹配以空格开头的行,然后将 1-4 个非数字作为第一个字符,然后在数字后至少有一个或多个空格。此正则表达式的目的是在 Notepad++ 的“查找和替换”选项中使用它来删除任何不以空格开头的行,然后将数字作为行中的第一个字符。
我现在拥有的是允许我匹配以空格开头的行,然后是一组数字和另一个空格。但是,这些是我想要保留的线条。如何修改以下正则表达式,使其匹配除这些行之外的所有其他内容?
/^([\s]+\d[\s]|[\s]+\d\d[\s]|[\s]+\d\d\d[\s])/gm
这是我们使用正则表达式的数据示例。正则表达式应仅匹配不以 1、2、49、50、99 和 100 开头的行。请注意,以“40th”和“5/23/2017”开头的行应匹配。
Page 1
40th Marathon and 25th Marathon Relay
5/23/2017 USATF Certified Marathon (#RE98723UB) Downtown/City, ST
Timing: Race Services See our Calendar of Events at www.website.com
Results questions: http://www.website.com/fixresults
=====================================================================================
**** FINAL RESULTS IN NETTIME ORDER ****
Place Div/Tot Div Halfway 22miles Guntime Nettime Pace Name
===== ======== ===== ======= ======= ======= ======= ===== =======
1 1/153 M0139 1:15:08 2:05:50 2:29:20 2:29:20 5:42 Eric
2 2/153 M0139 1:15:07 2:06:29 2:29:56* 2:29:56 5:44 Bryan
Record 2:17:35 by Randy in 1986
49 8/77 M4049 1:36:48 2:54:03 3:37:02 3:36:59 8:17 Joshua
50 28/153 M0139 1:49:45 3:03:56 3:37:38# 3:37:22 8:18 Brian
# Under USATF OPEN guideline
99 1/16 M6069 1:56:30 3:15:24 3:51:06 3:50:46 8:49 Paul
100 3/35 F5059 1:50:06 3:11:37 3:51:03 3:50:47 8:49 Ashley
101 4/35 F5059 1:55:26 3:16:37 3:56:03 3:55:57 9:14 Joan
* Under USATF Age-Group guideline
% For an Explanation of AgeGraded Percentages, See Here: http://www.website.com/agegrading
因此,如果我们在 Notepad++ 中使用正则表达式来查找匹配的字符串/行并替换(删除)它们,则所需的最终结果将如下所示(换句话说,以下行与正则表达式不匹配):
1 1/153 M0139 1:15:08 2:05:50 2:29:20 2:29:20 5:42 Eric
2 2/153 M0139 1:15:07 2:06:29 2:29:56* 2:29:56 5:44 Bryan
49 8/77 M4049 1:36:48 2:54:03 3:37:02 3:36:59 8:17 Joshua
50 28/153 M0139 1:49:45 3:03:56 3:37:38# 3:37:22 8:18 Brian
99 1/16 M6069 1:56:30 3:15:24 3:51:06 3:50:46 8:49 Paul
100 3/35 F5059 1:50:06 3:11:37 3:51:03 3:50:47 8:49 Ashley
101 4/35 F5059 1:55:26 3:16:37 3:56:03 3:55:57 9:14 Joan
任何帮助将不胜感激。
【问题讨论】: