[英]RegEx Notepad++
我有以下格式的一系列行:
LINE: 5190 STNO: 22669 SI: VOICE
CCT LINE STNO SI BUS TYPE
003 6269 OPTI ONLY
MULTLINE 8. . . . . . . . . . . . . . .
001 SUBUNIT . . . . . DIGITE MAIN DEFIL/TRS
(ALT_ROUT: N) (OPTIIP )
LINE: 5291 STNO: 29956 SI: VOICE
我需要通过正则表达式(notepad ++)查找的是“ STNO:”后面的数字。
大约有100种这样的比赛。
我对STNO:\\ s + \\ d {4,5}感到厌倦,但这也使STNO进入了我不想要的比赛。 请帮忙。
我只需要保留匹配的结果,其余的我要删除匹配的项目或将匹配的项目复制到新文件中,以较容易的为准。
我建议采用两步法。 首先获取所有带有STNO的行和一个数字。 第二,删除除数字以外的所有内容。
在查找对话框中选择标记选项卡。 确保选中书签行 。 在“ 查找内容”框中,输入STNO:\\s*\\d+
,然后单击“ 全部标记” 。
访问菜单=>搜索=>书签=>复制书签行。 然后粘贴到另一个缓冲区。 另外,要在同一个文件中使用菜单=>搜索=>书签=>删除未标记的行。 现在,您应该将所有需要的行放在缓冲区中。
进行正则表达式搜索并替换设置, 找到 ^.*STNO:\\s*(\\d+).*$
然后替换为\\1
。 然后单击全部替换 。
以上假设每行只能找到一个数字。
========================
因为只需要数字,所以另一种方法是在所需数字周围放置换行符和一个标记,然后删除没有该标记的任何行,最后删除该标记。
让标记keep
。 进行搜索和替换设置查找要keep
并将替换为单个空格字符,确保未选择区分大小写 ; 然后单击全部替换 。 接下来,进行正则表达式搜索和替换设置, 找到要为^STNO:\\s*(\\d+)
并将替换为\\r\\nkeep\\1\\r\\n
。 您可能希望区分大小写 ; 然后单击全部替换 。 接下来,使用查找要keep
内容进行标记行(如上所述),然后按Menu => Search => Bookmark =>删除未标记的行。 最后,进行搜索和替换设置, 找到要keep
, 将替换为为空。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.