【问题标题】:regex two words search in Notepad++正则表达式两个单词在记事本++中搜索
【发布时间】:2015-04-21 17:19:51
【问题描述】:

我想在下面的示例文本中使用正则表达式查找:

  • 关键字为“Loves”并以“结尾”的行
  • 仅将“非常多”附加到满足上述条件的那些行。

我尝试过搜索:

Loves*."$

并用/1 Very Much 替换,但运气不好,不胜感激。

我为此使用 Notepad++。

"Sample Text"
--------------------

    DOLLY Loves DOLLS" Like Elephant"
    DOLLY;
    DOLLY Loves DOLLS Like Dog"
    DOLLY Loves DOLLS Like Cat" But Bats Not
    DOLLY "Loves" Her Lover Matt"
    Mr. O' Neil" King Hates Dolls
    DOLLY Loves DOLLS Like Bat"
    DOLLY;

【问题讨论】:

    标签: regex notepad++


    【解决方案1】:

    您可以在 Notepad++ 中使用以下正则表达式。

    Find: \b(Loves.*")$
    Replace: \1 Very Much
    

    注意:确保选中“正则表达式”并且未选中 . 匹配换行符。

    【讨论】:

    • 仅将“非常多”附加到第 7 行,但在第 1 行和第 3 行(大象和狗)缺失,不知道为什么会跳过..
    • 替换应该是$1,而不是\1,否则这看起来不错。实际上,看起来任何一个都有效。没关系。
    • +1 hwnd ".matches new line" 是问题,在 unchecking.regex 后它应用于所有搜索模式行。非常感谢!
    【解决方案2】:

    这是未经测试的,但应该可以工作。确保不区分大小写的匹配已打开。搜索:

    (Loves.*")$
    

    替换

    $1 Very Much
    

    另外,请确保您正在进行全局替换(全部替换)。否则,它只会匹配光标后的第一个实例。看到这个Regex101 demo

    【讨论】:

    • 感谢您的快速答复。但它仅对 1 行应用更改 "DOLLY Loves DOLLS Like Bat" 其他行缺失,如 Elephant、Dog 等
    • 确保您正在进行全局替换(全部替换)。否则,它只会匹配光标后的第一个实例。看这个演示:regex101.com/r/oY6uP0/1
    猜你喜欢
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 2020-01-25
    • 2012-03-10
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    相关资源
    最近更新 更多