尝试找出 Notepad++ 中要使用的正则表达式,在其中我可以搜索下面的文本(作为示例)并按顺序找到结果。
示例文本:
{ USERECOVERDB 1 }
protocol to_nuance_orm_p5 {
{ AUTOSTART 1 }
{ DELAYCONNECT 0 }
{ HOST 198.92.118.168 }
{ IPV4_V6_DUAL 0 }
{ PDLTYPE tcp-client }
{ PORT 9014 }
{ PRIVATE_KEY {} }
期望结果:
protocol to_nuance_orm_p5
HOST 198.92.118.168
PORT 9014
答案1
以下正则表达式应该有效:
protocol [^ ]+|HOST \d+\.\d+\.\d+\.\d+|PORT \d+
我正在使用 Sublime Text 来测试它,但它也应该可以在 Notepad++ 中运行。
它的工作原理如下:它由三部分组成:
protocol [^ ]+
HOST \d+\.\d+\.\d+\.\d+
PORT \d+
|
符号表示其中任何部分都可以匹配。
第一部分: protocol [^ ]+
protocol
(包括后面的空格l
)只是匹配单词protocol
和后面的空格。[^ ]
匹配一个非空格字符并+
意味着匹配一个或多个前面的符号,因此[^ ]+
将匹配一个或多个非空格符号。
第二部分: HOST \d+\.\d+\.\d+\.\d+
HOST
与第一部分一样匹配文本。然后是\d
匹配一位数字且+
含义与上述相同的字符。\.
将匹配常规点。与字母不同,点前面必须加反斜杠,因为它在正则表达式中具有特殊含义。
第三方比第二个更简单,所以我认为不需要解释。
如果你想了解更多关于正则表达式的知识,本教程非常好,这是一个很好的正则表达式测试器/调试器。
答案2
如果您只想查找以下格式的所有文本:
** TEXT **
尝试这个:
\*\*.*\*\*