Regex记事本++;删除除IP以外的所有内容
有一个文本文件,每行包含一个IP地址与无用的信息。想要删除IP周围的无用信息 每一行看起来像:Regex记事本++;删除除IP以外的所有内容,regex,notepad++,Regex,Notepad++,有一个文本文件,每行包含一个IP地址与无用的信息。想要删除IP周围的无用信息 每一行看起来像: %BER-1-887373: Group <Connect> User <gacan> IP <72.34.184.200> No IPv6 address available %BER-1-887373:组用户IP没有可用的IPv6地址 只需要IP地址 包围了IP,也需要删除这些 感谢您提供的任何帮助如果您没有任何其他以句点分隔并包含在中的数字组,您可以找到:
%BER-1-887373: Group <Connect> User <gacan> IP <72.34.184.200> No IPv6 address available
%BER-1-887373:组用户IP没有可用的IPv6地址
只需要IP地址
<>包围了IP,也需要删除这些
感谢您提供的任何帮助如果您没有任何其他以句点分隔并包含在
中的数字组,您可以找到:
.*<(\d{1,3}(?:\.\d{1,3}){3})>.*
这不会验证IP地址;它只在
中找到4组1-3个数字,并且组与组之间有句点
给定示例文本,这将减少这一行
%BER-1-887373: Group <Connect> User <gacan> IP <72.34.184.200>
%BER-1-887373:组用户IP
只需72.34.184.200
说明:
-将任何字符匹配零次或多次(从行首到*
执行查找替换:
- 查找内容:
*?(\d{1,3}((\d{1,3}){3}))。
- 替换为:
\1
- 选择正则表达式
- 点击全部替换
模式并不完美,因为它没有限制有效数字的范围(例如,999.999.999.99也将被匹配)。正则表达式有时会很复杂,很有可能会出错。如果所有的行都应该是指定的格式,即IP前面三个字,后面两个字,我会使用宏。 比如说:abc xyz xxxx <127.23.32.120> xxx xyz
abc xyz xxxx xxx xyz
- 我会将光标移到第一行的末尾
- 按
按钮(顶部的红色按钮)记录马可
- 按Ctrl+Bksp两次。这将删除xyz和xxx字符
- 按Bksp两次:这将删除空格和
字符- 按Ctrl+左箭头7次。这将移动IP开头的光标
- 按Ctrl+Bksp 4次。这将删除其他无用的文本,只留下IP在第一行
- 按下向下箭头,然后按
按钮,移动到下一行的末尾End
- 停止录制宏
- 播放马可直到文件结束
您能分享一些线路的示例吗?这里是其中一条线路的示例,当然不是实际的IP。%BER-1-887373:组用户IP无IPv6地址available@planejane你能用这个示例行更新你的问题吗?如果评论中有,它可能会被遗漏。谢谢你的帮助,但是这删除了所有内容并离开了在1-887373后面,仅限您在左下角选择:正则表达式并取消选中“
”?我确实取消了它的选中。好主意,但是,如果每一行的长度都完全相同,这会起作用。换句话说,有些行比其他行有更多无用的信息。非常感谢,我学会了如何使用宏!你能告诉我解决方案中的每个角色都在做什么学习吗?”。匹配新行“
abc xyz xxxx <127.23.32.120> xxx xyz
- 查找内容: