Notepad++ 记事本++;删除括号中的\s

Notepad++ 记事本++;删除括号中的\s,notepad++,whitespace,brackets,Notepad++,Whitespace,Brackets,我试图让一个正则表达式工作,它将删除文本尖括号之间的所有空格。但我无法克服这个具体问题: 首先,这是我正在研究的正则表达式 ([<].*\s[>]) 但显然这并不容易。您可以使用以下基于正则表达式的搜索和替换: (?:\G(?) (?:\G(?!^)|) 并替换为空字符串。请参阅 对于不同类型的括号,奖励类似的图案: 圆括号/圆括号:(?:\G(?^)\()[^()\s]*\K\s++(?=[^()]*\)() 方括号:(?:\G(?)\[)[^][\s]*\K\s++(?=[

我试图让一个正则表达式工作,它将删除文本尖括号之间的所有空格。但我无法克服这个具体问题:

首先,这是我正在研究的正则表达式

([<].*\s[>])

但显然这并不容易。

您可以使用以下基于正则表达式的搜索和替换:

(?:\G(?)
(?:\G(?!^)|)
并替换为空字符串。请参阅

对于不同类型的括号,奖励类似的图案

  • 圆括号/圆括号
    (?:\G(?^)\()[^()\s]*\K\s++(?=[^()]*\)
    ()
  • 方括号
    (?:\G(?)\[)[^][\s]*\K\s++(?=[^][*])
    ()
  • 自定义不同的分隔符,例如,
    (?:\G(?)\\\\\\)(?:(?!\\\\\'\\\\))*?\K\s++(?:(?:(?!\\\\'\\\\\\\)*。
图案细节

  • (?:\G(?)|
    和空格
  • \K
    -忽略迄今为止匹配的所有文本
  • \s++
    -1+空格(以占有方式匹配以获得更好的性能)
  • (?=[^>]*>)
    -一种检查,要求0+字符,而不是
    ,在1+空格后紧跟

谢谢,这非常有效。正则表达式还指出,在
出现之前,在
出现后,不会有中断的字符串。最后一个操作符确实帮了很多忙!我想尝试一下:
([]*>[]*>)
检查是否每个括号都已关闭,以确保没有类似或
([]*>[]*>[]*>)的双精度字符串
的工作方式与预期不同。它与以下字符串匹配:
。它与
>标记>
不匹配。抱歉,这听起来像是另一个问题。请随意提问。但是,请记住,检查嵌套标记不是正则表达式的最佳任务。你肯定是对的。我将在下次再研究这个问题。有什么事吗ng你会推荐有效地检查标签吗?到目前为止,我还没有任何必要这样做,所以,谷歌推荐和其他在线检查。
<ta gname>foreign text with space that needs to stay like this< /endtag>
([<>]\s\?[A-Za-z]\s\?[<>])
\1^\s