2016-07-05 120 views
1

我想檢查字符串的格式。可能的格式爲:正則表達式,由昏迷分隔的字符和 -

-15 
-15,19 
-15-19 
-4C 
-4C-19 
-4C,19 
-4C,5T 
-4C-5T 

以及所有的組合:

-4"-5T,15,8P,10-13 

因此,例如,"4C"_"5T"是無效的,因爲有_

Curently我有這個,但它的工作原理中庸之道時只有數字:

Pattern pattern = Pattern.compile("((\\d\\,(?=\\d))|(\\d\\-(?=\\d))|\\d)+"); 

它不會w orks,如果我用'w'代替'd'...

我該怎麼辦?

(我關於Java的工作)

+0

您的其他要求是什麼?從我在這裏可以看到的情況來看,它看起來像是帶有引號的2個字符文本,並且它們前面是短劃線或逗號。 – ChristopherZ

回答

0

你可以試試這個,

Pattern pattern = Pattern.compile("^-\"\\d+\\w?\"(?:-\"\\d+\\w?\")?(?:,\"\\d+\\w?\"(?:-\"\\d+\\w?\")?)*$"); 

DEMO

+0

我很抱歉,但沒有「..我會編輯我的帖子 – ZouIou

+0

好吧,我編輯了你的解決方案,它的工作!謝謝你 – ZouIou

0

基於我所看到的,我認爲這些都是要求。

  • 可以是-,;然後
  • 2個字母數字字符用雙引號

包圍這裏是你可以使用該模式。

Pattern.compile("([-,]\"\\w{2}\")+") 
相關問題