的前n個字符我想從這個正則表達式匹配的第一個字符n
:獲得一個正則表達式匹配
(\d+\s*)
基本上我想用空格右板。所以在臺詞:
12345␢␢␢␢␢␢␢␢123␢␢␢␢␢␢␢
123␢␢␢␢␢␢␢␢␢12345␢␢␢␢␢␢
我想完成:
12345␢␢␢␢␢123␢␢␢␢␢␢␢
123␢␢␢␢␢␢␢12345␢␢␢␢␢
總是有一行兩場比賽和線具有恆定的長度。
的前n個字符我想從這個正則表達式匹配的第一個字符n
:獲得一個正則表達式匹配
(\d+\s*)
基本上我想用空格右板。所以在臺詞:
12345␢␢␢␢␢␢␢␢123␢␢␢␢␢␢␢
123␢␢␢␢␢␢␢␢␢12345␢␢␢␢␢␢
我想完成:
12345␢␢␢␢␢123␢␢␢␢␢␢␢
123␢␢␢␢␢␢␢12345␢␢␢␢␢
總是有一行兩場比賽和線具有恆定的長度。
基於對這個問題的額外信息,它的結構,我會建議以下步驟:
這意味着這樣的事情:
^(\d*\s*)(\d*\s*)$
與$1\r\n$2
。如果你不在窗戶上,簡單地刪除\r
,我懷疑。你也許應該考慮在行尾添加一個宏。這應該是文檔其餘部分未包含的內容(例如#
)。 $1
的意思是,替換第一個捕獲的組(括號內的東西)。所以用$1#\r\n$2
代替它。(^.{n}).*(#?)
並用$1$2
替換。這將捕獲第一個n
符號並插入宏,如果它被發現。#\r\n
。要麼刪除這些或用\0
替換它們。注意
(^\d*\s*)
行。#
的出現次數分開。它不應該包含在文件的其餘部分,至少不在行尾。單通可能可以過這裏。
^(\d[\d\s]{n-1})[^\d]*(\d[\d\s]{n-1}).*$
匹配這些行,如果您提取組1和2,則會從文件中過濾所需的輸出。只需將其替換爲$1$2
即可。
替換:
(\d[\d\s]{n-1})\s*
有了:
$1
這將替換一個數字,然後按n-1
數字或空格字符,後跟任意數量的空白字符由什麼匹配的第一個n
字符(因此你應該得到每行2個匹配)。
使用'。{n}'第二次匹配?不確定記事本(從未使用它),但在[tag:grep]中,您可以使用'grep -o。\ {n \}'再次匹配,然後獲得所需的結果。 – ShellFish
你想用你的正則表達式來表達什麼?爲什麼像這樣'^。{n}'還不夠? – bro
@bro好。它將用於第一列。第二個?檢查更新後的問題 –