我正在使用一个名为TextCrawler Pro的程序,它允许我以宏的形式运行。
我想每天清理一个天气页面,以便从中获取:
Billings, MT;93;62;80;53;Not as warm;NNE;10;44%;20%;8
Birmingham, AL;80;70;81;69;Thunderstorms;SSW;6;81%;90%;4
Bismarck, ND;92;57;92;63;Mostly sunny;SE;12;46%;36%;8
Boise, ID;85;51;77;49;Mostly sunny, nice;N;8;36%;0%;8
到此:
Billings, MT;93;62;80;53;
Birmingham, AL;80;70;81;69;
Bismarck, ND;92;57;92;63;
Boise, ID;85;51;77;49;
我可以找到使用\;\d+\;\d+\;\d+\;\d+\;
,但我无法删除到该行的末尾。
我尝试将\r\n
添加到上面的结尾,如下所示:\;\d+\;\d+\;\d+\;\d+\;\r\n
但是用实际的正则表达式代码替换了我所有的城市信息。
有什么想法吗?我觉得我错过了很简单的事情。
答案 0 :(得分:0)
(.*\,\s[A-Z]+;\d{2};\d{2};\d{2};\d{2};)(.+)
第一组是你所追求的,忽略第二组。 See it here
答案 1 :(得分:0)
将有许多不同的模式可以成功地为您删除不需要的子串。这里有一些我已经熟了。 (Demo)
67个步骤
^([^;]+;[^;]+;[^;]+;[^;]+;[^;]+;).*$
我列表中最有效的模式
91步^((?:[^;]+;){5}).*$
127步(.+?;.+?;.+?;.+?;.+?;).*
157步((?:.+?;){5}).*
163步(.+?;)[^\d].*
185步(.+\d{2};)[A-Z].*
280步(.*\,\s[A-Z]+;\d{2};\d{2};\d{2};\d{2};)(.+)
删除不需要的部分的方法是将整行替换为所需的部分。
参考这些文件页面:
https://www.digitalvolcano.co.uk/textcrawlermanual/regular_expression_reference_guide.htm
https://www.digitalvolcano.co.uk/textcrawlermanual/regular_expression_find_replace.htm
您应该只能使用
$1
作为替换值,所有内容都将被清理。