[英]Notepad++ search combination in lines
我正在尋找包含多行(記事本++)的txt文件中的特定組合。 我正在尋找的線的結構如下:
xxxxxx N N -1 -1 -1 N (end line)
因此,我首先有一個6個或更多字符的標識符,然后是6個數字(N),以制表符分隔。 N可以為值1、0或-1。 我正在尋找在位置3、4和5中包含“ -1”的行。其他位置可以采用3個值中的任何一個。 我已經在線搜索並應用了搜索,例如:
\t-?\t-?\t-1\t-1\t-1\t-?
\t?.\t?.\t-1\t-1\t-1\t?.
t?.\t?.\t-1\t-1\t-1\t?.\n
\t-1\t-1\t-1\t?.\n
但是,該行中的最后N個未考慮在內,因此,例如,如果其值為0,則不會選擇該行。
編寫此搜索的方式是什么? 我知道記事本++是用C ++編寫的。
您可以嘗試遵循這種模式嗎:
^([a-zA-Z0-9]{6,})\s*(-1|0|1)\s*(-1|0|1)\s*((-1\s*?){3})\s*(-1|0|1)\s?
https://regex101.com/r/yM5xD3/2
^
:行的開頭。
([a-zA-Z0-9]{6,})
:任何字符六次或以上。
\\s*
:空格/制表符/換行零次或多次。
(-1|0|1)
:這些數字之一。
\\s*
:...
(-1|0|1)
:這些數字之一。
((-1\\s*?){3})
:-1一次,然后按space / tab / newLine零次或更多次。 (“?”表示正則表達式將嘗試獲取盡可能少的\\ s)
\\s*
:..
(-1|0|1)
:...
最后一個\\s?
:尋找零個或一個空格/制表符/ newLineCharacter
您可以嘗試以下正則表達式:
^[a-zA-Z0-9]+\t(-1|0|1)\t(-1|0|1)\t[\-][1]\t[\-][1]\t[\-][1]\t(-1|0|1)$
我嘗試了以下示例,它對我有用。
xxxxxx 1 1 -1 -1 -1 1
xxxxxx 0 1 -1 -1 -1 0
test12 -1 1 -1 1 -1 0
xxxxxx 1 1 -1 -1 -1 0
test13 0 1 -1 -1 1 -1
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.