Regex 记事本++;替换文本内的新行

Regex 记事本++;替换文本内的新行,regex,replace,find,notepad++,Regex,Replace,Find,Notepad++,我有这个示例,因为它是一百万行中的一行。 我有以下案文: <tr class="even"> <td><a href="http://www.ujk.edu.pl/">Jan Kochanowski University of Humanities and Sciences (Swietokrzyska Pedagogical University) / Uniwersytet Humanistyczno Przyrodniczy Jana Kochano

我有这个示例,因为它是一百万行中的一行。 我有以下案文:

<tr class="even">
<td><a href="http://www.ujk.edu.pl/">Jan Kochanowski 
University of Humanities and Sciences (Swietokrzyska Pedagogical 
University) / Uniwersytet Humanistyczno Przyrodniczy Jana Kochanowskiego
w Kielcach</a></td>

我想换成这样:

<tr class="even">
<td><a href="http://www.ujk.edu.pl/">Jan Kochanowski University of Humanities and Sciences (Swietokrzyska Pedagogical University) / Uniwersytet Humanistyczno Przyrodniczy Jana Kochanowskiegow Kielcach</a></td>

我试过那个正则表达式:(*)
但不起作用。

用Ctrl+H打开“替换”窗口

然后进入

  • 查找内容:
    ([^>])[\r\n]{1,2}

  • 替换为:
    \1

  • 检查
    正则表达式


  • [^>]
    匹配的字符不是

  • {1,2}
    防止文件只包含换行符而不包含回车符

  • \1
    仅替换分组中的字符
    ()


如果您无法使jmstoker的解决方案起作用,请尝试这样做:

  • 您需要检查换行符是否只是
    CRLF
    或其中一个,为此,请单击工具栏上的图标“显示所有字符”,或转到菜单视图->显示符号->显示所有字符
  • 在“替换”对话框中,选择“扩展”搜索模式
  • 在“查找内容:”字段中,写入以下内容:
    \r\n
    (或只是
    \r
    或只是
    \n
    ,基本上将
    CR
    \r
    匹配,将
    LF
    \n
    匹配)
  • 将replace with字段留空
  • 完成此操作后,所有换行符都将被替换,但您希望
    位于自己的行上,因此只需使用扩展搜索
    替换为
    \r\n
我猜您也有一些行带有类“odd”或类似的内容,因此您可能需要在不同的类中重复最后一步:)

打开记事本++
单击搜索>>替换

替换为:\n

在底部,您将找到“搜索模式”,单击“扩展”


此处的实例:

您是否无法升级到v。6.1.3?尝试使用\而不是$。我已经更新了我的解决方案。这两种方法都适用于V6.1.3,我知道\works返回到v4.9版,您选择了什么作为搜索模式?@alfasin抱歉,我让您对OP感到困惑,但我可以确认此正则表达式在Windows中使用Notepad++v工作。6.1.3. 如果该行以\r\n结尾或仅\n结尾,则它可以工作。@alfasin不确定您有什么问题,但正则表达式工作正常。除非您的记事本++中有其他文件,或者您遗漏了带有“方向”或正则表达式选项的内容。您可以尝试选择整个文本,选中“In selection”并单击相应的全部替换。使用textpad(按F8键查找并替换为选中的“regular expression”选项)并简单地用一个空格替换
\n
,这对我来说很有效。不起作用,因为如果我重新关联全部\n,我只会得到一行html。执行两行替换,第二行将用
\n
;)替换
)不是那样工作的,因为如果我重新发布所有内容,\n我只会得到一行html。如果您花时间阅读我的完整答案,您会看到最后一步是将返回内容放在自己的行中。。