查找字符,文本并在Notepad ++中提取它

时间:2016-04-10 13:34:50

标签: regex notepad++

我有一个问题就是要找到一个字符,然后将它放大一定数量的字符并将其返回。

文字示例:

Contrary to popular belief, (Lorem Ipsum) is not simply random text. It (has) roots in a piece of ...

预期结果:

r belief, (Lorem Ipsu
 text. It (has) roots

它应该如何运作:

  1. 找到"(" - 10个字符

  2. 的位置
  3. 找到"(" + 10个字符

  4. 的位置
  5. 提取第1点开始位置和第2点结束位置的文本。(并将其存储在新行中)

  6. 请问是否可以在Notepad ++或具有查找和替换功能的类似软件中执行此操作? 我相信这可以用正则表达式来完成,但我无法写它。

    非常感谢!

1 个答案:

答案 0 :(得分:0)

正则表达式查找/替换如下:

  • 打开替换对话框
  • 查找内容: (.{10}\(.{10})
  • 替换为: \r\n\1\r\n
  • 检查正则表达式
  • 点击替换或全部替换

根据您的行结尾,您可能需要将替换中的\r\n更改为\n

<强>解释

  • 常规表达以文字(为中心(由于正则表达式规则,它必须以\(转义)
  • 它使用两个.{10}部分
  • 捕获前后10个字符
  • 所有21个字符都被捕获到\1中(通过将整个正则表达式放在未转义的括号中)
  • 换行符\1被换行符包围(\r\n\n,采用您需要的内容)