2017-07-05 10 views
-3

我有一個來自前一個線程的正則表達式。這個正則表達式似乎只適用於某些數字,我是一個正則表達式和編碼的完全noob。無論如何,我已經扭轉了文本中的所有數字嗎?我的文本中數字的最大總數可能是某些行的10位數字,其他的可能只有2位數字,有時候是3或4,但最大值是10,我會舉例說明。逆向行中的數字,已經有正則表達式,需要修改它

goku144 

r3apt0r 

66958496 

Veg3ta123 

正則表達式,我只有讓一些逆轉,數字不是全部,反正是有解決由horucrux提供的正則表達式。

下面的正則表達式和鏈路

如何使數字向後記事本+

第1步:添加標記爲還未倒位。

查找:

\ B(\ W +?)(\ d +)\ b

替換:

$1§$ 2您可以選擇其他的標記,而不是§。

第2步:是否所有足夠的時間與這些設置替換:

查找:

\ B(\ w +)§(\ d *)(\ d)\ b

更換:

$ 1 $3§$ 2

第3步。刪除所有標記。

查找:

\ B(\ w + \ d)§

替換:

$ 1

+0

在您應該鏈接到前面的問題,你有沒有做過最起碼的。此外,您應該通過縮進四個或更多空格來設置格式。 –

+0

添加了鏈接對不起 – ramza75

+0

請縮進您的代碼,並提供一些預期結果的測試用例 – Toto

回答

0

相同的方法,其他的問題:

步驟1。爲未反轉的數字添加標記。

查找:

\d 

替換:

§$0 

步驟2。不要反相數字,並在同一時間,清除標記替換所有足夠的時間:

查找:

§(\d)([^\n]*)§(\d) 

替換:

$3$2$1 

步驟3。刪除剩餘的標記(中央數字的標記)。

查找:

§(\d) 

替換:

$1 
0

既然你處理記事本+ +,這是非常重要的是確定最大長度因爲我們沒有編程語言的力量。

此外,如果您想要反轉任何數字序列 - 在由數字開始的子字符串,中間的數字,結尾的數字中,這將非常棒。

假設您想要反轉文件中的所有數字序列,並且最長的序列有5位數字。然後:

發現:(?<=\D)(\d)(\d)(\d)?(\d)?(\d)?(?=\D)
取代:$5$4$3$2$1