2017-07-14 144 views
0

我有几行文本文件。在每一行中都会出现一次或几次某个字符串。我想提取字符串出现多次的所有行,并将这些行写入单独的文本文件。如何从文本文件中提取多行字符串?

我的尝试将超过正则表达式,我会发现在UltraEdit中替换&。 UltraEdit中的RegEx如何看起来像?

回答

0

从第12.00版起,UltraEdit for Windows中有3个正则表达式引擎可用。

正则表达式使用三个表达式中的任何一个都很简单。

UltraEdit的正则表达式搜索字符串:string?+string

?不匹配换行符。所以一行必须包含string两次,除了换行符之外的其他字符。

的UnixPerl的正则表达式搜索字符串:string.+string

.不匹配换行符(默认情况下)。所以一行必须包含string两次,除了换行符之外的其他字符。

随着的Perl,也可以使用\bstring\b.+\bstring\b如果一个积极的匹配应要求string是不包括例如含有strings or substring线完整的单词。

产生正赛的线路可以写入查找字符串列表窗口,查找选项包含字符串名单线检查,并通过上下文菜单从这个窗口复制到一个新的文件。

也可以使用查找选项显示选择即可只显示含有string至少两次线过滤线。

另外一个在文件中查找与所选选项打开文件和选项结果如在定义编辑检查可以执行根据配置来获得所找到的线到一个新文件没有或有附加的信息窗口高级 - 设置配置 - 搜索 - 设置查找输出格式。当然,也可以运行相同的文件在文件中查找没有选项编辑窗口的结果勾选以将找到的行写入活动输出窗口选项卡。

而且在Find strings with a regular expression and output them to new file有UltraEdit脚本,记录在使用正则表达式将活动文件字符串grep到新文件中。

0

我不确定UltraEdit,但这很容易理解。 grep .*STRING.*STRING.* myfile.file > output.file

这将搜索myfile.file有两个出现STRING的任何行,并将其输出到文件output.file

如果是Windows,请使用findstr .*STRING.*STRING.* myfile.file > output.file。相同的结果,请检查output.file以查看包含两个(或多个)出现的STRING的实线。

相关问题