我正在尝试构建一个正则表达式,以使用Notepad ++在下面的多行文本中查找
(*ANYCRLF)(SPIDs at the head of blocking chains)\n(spid)\n.\n[1-9]
但是它只能工作到SPID
。哪些表达式可帮助它在下一行数字(1-9)中找到20个-
字符。文本显示不正确。
spid
字是一个常量,区分大小写。只有数值会有所不同,但范围是1到9。
匹配文本:
SPIDs at the head of blocking chains
spid
-(dash) 20 times
13257
答案 0 :(得分:1)
在正则表达式(*ANYCRLF)(SPIDs at the head of blocking chains)\n(spid)\n.\n[1-9]
中,您要匹配\n.\n
,它将匹配换行符,后跟任意字符和换行符。除了匹配任何字符,您还可以匹配破折号20次-{20}
。
您可以将最后一个\n
更新为\s*
,以匹配零次或多次空白字符,最后匹配一次或多次[1-9]+
(*ANYCRLF)(SPIDs at the head of blocking chains)\n(spid)\n-{20}\s+[1-9]+
或者您可以使用(*ANYCRLF)
来代替\n
和\s
:
\s*(SPIDs at the head of blocking chains)\s*(spid)\s*-{20}\s*[1-9]+
您为()
和(SPIDs at the head of blocking chains)
使用捕获组(spid)
,但是如果只想匹配值,则可以省略括号。