Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 删除每行中除一些单词以外的所有内容_Regex_Notepad++ - Fatal编程技术网

Regex 删除每行中除一些单词以外的所有内容

Regex 删除每行中除一些单词以外的所有内容,regex,notepad++,Regex,Notepad++,我试图找到一个正则表达式解决方案来保持 并在不破坏行顺序的情况下删除其他内容。只有部分行包含此模式一次或多次。我尝试了(?您可以使用下面的正则表达式来匹配除和#xA 您可以使用捕获组 (.*?)((?:
){0,}) 详细信息: (.*):Group1-尽可能少地匹配任何字符 ((?: ;){0,}):Group2-是否匹配 ; 您可以使用来匹配和#xA;,然后不使用匹配项 然后匹配除&之外的所有字符,当它遇到&时,断言它后面没有直接跟#xA; 查找内容

我试图找到一个正则表达式解决方案来保持

并在不破坏行顺序的情况下删除其他内容。只有部分行包含此模式一次或多次。我尝试了
(?您可以使用下面的正则表达式来匹配除
和#xA


您可以使用捕获组

(.*?)((?:
){0,})
详细信息:

  • (.*)
    :Group1-尽可能少地匹配任何字符
  • ((?:
    ;){0,})
    :Group2-是否匹配

您可以使用来匹配
和#xA;
,然后不使用匹配项

然后匹配除&之外的所有字符,当它遇到&时,断言它后面没有直接跟
#xA;

查找内容


(*SKIP)(*FAIL)|[^&\r\n]+(?:&(?!#xA;)[^&\r\n]*)*
替换为:

留空

解释

  • #xA;
    逐字匹配
  • (*跳过)(*失败)
    使用您想要避免的字符
  • [^&\r\n]+
    匹配除
    &
    或换行符以外的任何字符的1+倍
  • (?:
    非捕获组
    • &(?!#xA;)
      匹配&如果不直接后跟
      #xA;
    • [^&\r\n]*
      匹配除&或换行符以外的任何字符的0+倍
  • )*
    关闭非捕获组并重复0多次


这似乎适用于我的样本。但我尝试了50k行,它还保留了不必要的字符。它这样说:“受干扰的区域必须由特殊门户访问,与空间异常的居民交谈,以了解更多“to”&;A&&&&;xA;A”很抱歉,它在记事本上不起作用。它显示n行已更改,但我看不到任何差异。好的,我只是尝试了升华文本,它完全按照我的要求工作。不知道为什么记事本++会给出这样的结果。无论如何,这也可以。谢谢你的帮助。
[^
\n]+
(.*?)((?:
){0,})

(*SKIP)(*FAIL)|[^&\r\n]+(?:&(?!#xA;)[^&\r\n]*)*