2013-01-14 46 views
-1

我需要一個正則表達式或類似的表達式。我有一系列的字符串中的模式:正則表達式的排序順序相反

S 8010-Y30R 
7020-R 
S 7020-R 
3852-R10B 

我需要訂購這些:

By the last letter in the order: Y R B G 
Then by the last two digits 
Then by the second last letter (if any) in the order: Y R B G 
Then by the two digits 
Then by the first two digits 

因此,例如:S 8010-Y30R would be ordered by: R 30 Y 10 80
第二個例子:7020-R is a short version of: S 7020-R _ _ _

我可以或者在excel中排序這些內容......或者使用JavaScript並對兩個數組進行排序(一個包含上面的顏色代碼,另一個包含相同的RGB版本)。

+1

如果你有7020-R你想要它像R 2070?這個太模糊了......例如S 8010-Y30R應該是R30Y1080S?請澄清一個更好的例子..它是兩位數字/兩個字母的比較?你想保留連字符嗎? – bonCodigo

+0

這是NTC顏色系統。它應該是紅色:S8010-Y30R \ n 頭兩位數字:黑量 - 80 \ n 第二兩個數字:顏色1的量 - 黃10 \ n 第三數字對:最後一種顏色的量 - 紅30 \ n 在一些配對中有一個S寫在一些不是... –

回答

0

試試這個:

Search string 
    ^[A-Z]? ?(\d\d)(\d\d)-([A-Z]?)(\d\d)?([A-Z])?$ 
Replace string 
    $5$4$3$2$1 

這是假設總是發生的項目是連字符前四個數字和連字符本身。其他一切都是可選的,你不想保留第一個字母。每一個字符串都在一行上自行發生。

+3

我不認爲Excel支持PCRE語法。 – nhahtdh