Notepad++ (记事本+;+;)在两个子字符串之间查找超过一定长度的字符串

Notepad++ (记事本+;+;)在两个子字符串之间查找超过一定长度的字符串,notepad++,Notepad++,有人知道有没有办法找到长度超过某一特定长度且介于两个子字符串之间的文本 例如: <element><![CDATA[Hi, I'm a message.]]></element> 使用搜索模式正则表达式和运行以下搜索。匹配所选换行符 <\!\[CDATA\[(?:(?!\]\]>).){137,} {137,} 说明: )。表示只要这里没有匹配任何字符的文字]> {137,}说这样做137次(至少) 因此,这将命中任何您想要的大小的CDATA

有人知道有没有办法找到长度超过某一特定长度且介于两个子字符串之间的文本

例如:

<element><![CDATA[Hi, I'm a message.]]></element>

使用搜索模式
正则表达式和
运行以下搜索。匹配所选换行符

<\!\[CDATA\[(?:(?!\]\]>).){137,}
{137,}
说明:
)。
表示只要这里没有匹配任何字符的文字
]>

{137,}
说这样做137次(至少)

因此,这将命中任何您想要的大小的
CDATA

您可能希望在末尾添加一个
\]\]>
,以使用结束标记,但是不需要匹配结束标记(假设文档格式正确)


这将把新行计算为字符,如果有问题,您可以将
替换为
(?:。\n*)
以减少这种影响

谢谢您的回复和解释。它没有完全做到这一点,完整的搜索字符串得到0个结果。“”。)“它自己可以找到除CDATA[]的右方括号以外的任何字符,但将这些字符放在一起会得到0个结果。我在搜索字符串的帮助下找到了它!我必须把“.”放在“(?:(?!]]>)”的开头才能得到这个:
){137,}
。感谢您提供了如此详细的解释,以至于不了解notepad++搜索词的人能够找到答案!
<\!\[CDATA\[(?:(?!\]\]>).){137,}