2017-07-14 168 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的實線。