【问题标题】:regex to find and replace deleting/changing non-targeted text正则表达式查找和替换删除/更改非目标文本
【发布时间】:2014-09-01 11:33:02
【问题描述】:

我有一个如下所示的文本文件:

text text (numbers) text
text text with some punctuation
word ({ numbers }) word ({ numbers}} word ({...
text text (numbers) text
text text with some punctuation
word ({ numbers }) word ({ numbers}} word ({...
...

所以每隔三行是word ({ numbers }} ...

我想将所有第三行分隔成看起来像

单词 | ({ 数字 }) |词 | ({ 数字}} | 字 | ({...

我正在使用 notepad++ 并使用查找和替换正则表达式模式:

查找:(\(\{.+?\}\)) 替换:| $1 |

它似乎工作,除了有一个问题。
在我进行查找和替换后,我滚动浏览文档以查看一切正常.

知道为什么会发生这种情况以及如何解决吗?

我意识到正则表达式非常适合 7,514 行,但之后它就搞砸了。但我没有注意到任何关于那条线的特别可能会搞砸的事情。 notepad++中的replace all会不会有大小限制?

【问题讨论】:

    标签: regex notepad++


    【解决方案1】:

    不确定我是否完全理解您的需求,但这对您有用吗?

    查找内容:(\(\{.+?\}\))
    替换为:| $1 |

    确保选中Regular expression,然后点击Replace All

    【讨论】:

    • 你的答案是有效的,我的也是如此(我认为)。我只是尝试了您的建议,但是在我单击替换后,所有插入的字符都像我上面描述的那样。字符是黑色方块,黑色方块内带有白色字母 LF。我发布了一个屏幕截图,但我需要 10 声望才能发布一张图片。
    • 一般来说文件在 7514 行之后变得非常混乱
    • @jeremREE:这些字符会在您选择 display line break character 时出现。抱歉,我没有英文版的 NPP,我无法告诉你菜单的正确名称,但我认为它是“显示 > 特殊符号 > 显示线喙”。
    • 非常感谢。我这样做了,现在我在每一行的末尾看到 [LF] 。但是您知道为什么将其插入到行的中间吗?通常为什么从您提供的正则表达式中更改/删除整个字符顺序?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多