【问题标题】:Ignoring newlines between two words忽略两个单词之间的换行符
【发布时间】:2023-03-25 03:06:01
【问题描述】:

我有一个包含大量文本的文件。其中许多条目看起来像这样:

............word1
word2............
.................

我想计算word1word2 连续出现的次数忽略换行符 并且它们之间有换行符。

例子:

............word1
word2............
.................
............word1
..word2..........
.................
............word1
word2............
.................
.................
word1word2.......
.................

这应该给我 2 个。

我尝试在 Notepad++ 中使用正则表达式,但我不太熟悉。

【问题讨论】:

  • 你有没有尝试过?如果是这样,请添加您尝试过的内容。

标签: regex replace find notepad++


【解决方案1】:
  • Ctrl+F
  • 查找内容:\bword1\Rword2\b
  • 检查环绕
  • 检查正则表达式
  • 计数

说明:

\b          # word boundary
word1       # word1
\R          # any kind of linebreak
word2       # word2
\b          # word boundary

屏幕截图:

【讨论】:

    【解决方案2】:

    假设句点和换行符是将word1word2 分开的唯一因素,那么这将起作用:

    word1\.*[\r\n]+\.*word2
    

    https://regex101.com/r/e0aSuy/1

    【讨论】:

      【解决方案3】:

      如果您使用像 Notepad++ 这样具有正则表达式计数功能的工具,那么您可以尝试搜索以下模式:

      \bword1\b[^\r\n]*\bword2\b
      

      这将匹配word1,后跟换行符以外的任何内容,然后是word2

      Demo

      【讨论】:

        猜你喜欢
        • 2011-03-06
        • 2014-09-25
        • 1970-01-01
        • 1970-01-01
        • 2016-11-24
        • 1970-01-01
        • 2012-08-30
        • 2019-01-07
        • 1970-01-01
        相关资源
        最近更新 更多