【问题标题】:Wildcard search that retains wildcard match保留通配符匹配的通配符搜索
【发布时间】:2014-01-15 11:49:36
【问题描述】:

我正在尝试在 notepad++ 中解析文本文件以查找组 ID 的任何实例:

id=group00001

...目的是在每个之后添加一个换行符。

由于组 ID 每次都不同(但总是 5 个字符),我认为我需要使用正则表达式搜索通配符。但我正在努力寻找一种不清除 ID 的方法。

例如,查找和替换如下:

Find: id=group.....
Replace: id=group.....\r\n

找到所有这些,但将 ID 替换为“.....”。

我无法理解可以解决我的问题的更复杂的正则表达式的东西 - 谁能指出我正确的方向?

干杯!

【问题讨论】:

    标签: regex notepad++ wildcard


    【解决方案1】:

    试试这个:

    Find what:(group[\d]{5})
    Replace with: \1\r\n
    

    我的意思是:

    找到每个单词group后跟一个包含五个字符的数字([\d]{5}),然后替换为所有正则表达式组1(括号内的句子)加上\r\n

    【讨论】:

    • 感谢您的解释,这真的很有帮助。所以我假设您可以有多个输出组,如果您将查询构造为具有多组 () 括号?
    • 很高兴它有帮助。是的,你是对的,你可以有多个组。但是记事本++强加了一个组限制(不知道为什么和多少,从未测试过)。 parenteshis 中的括号也是组,计数顺序有点变化: (blah(bleh))(blih) group1=(blah(bleh));组2 =(bleh);组 3 = (blih);并且有一个 group0 是所有句子 (blah(bleh))(blih)
    • 干杯。我没想到很快就需要使用它,但我做到了!结果我文件中的一些 ID 是 6 个字符,所以我最终用换行符将它们分成两半。我设法通过找到 (group[\d]{5})\r\n([\d]{1}) 并替换为 \1\2\r\n 来修复它。
    • 可以只用:(group[\d]{5,6})\r\n {5,6} 表示它可以是 5 到 6 个字符 :)
    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 2017-04-26
    • 2011-09-11
    • 2019-09-25
    • 2016-03-16
    • 2012-08-29
    相关资源
    最近更新 更多