2010-11-27 121 views
0

我需要接受以下輸入regualr表達正則表達式爲XX天,XX個月或XX年

1日

4天

15天

1月

12個月

1年

5年

這些數字可以有任意長度。有任何想法嗎?

+0

爲了什麼目的?你想獲得數字嗎?你想強制執行特定的輸入格式嗎?字符串可以合併嗎?請添加更多關於預期輸入和輸出的信息。 – Gordon 2010-11-27 09:39:17

回答

5

試試這個,

^(1 (Day|Month|Year)|[1-9][0-9]* (Days|Months|Years))$ 

它不會接受我的假設是無效的輸入,如 「5日」 和 「04個月」

說明:

輸入爲「1 Day/Month/Year」,或者是1-9的數字,後跟任意數字的數字0-9,後跟一個空格,並且其中一個字符串「Days」「Months」或「Years」

+0

優雅的解決方案 – Nigel 2010-11-27 09:29:18

2
\d+\s+(Day|Month|Year)(s)? 
  • \ d +至少一個數字
  • \ S +至少一個空格字符
  • (日|月|年)日或一個月或一年
  • (S)?可選擇以複數單位
+0

如果`^`和`$`不是我們想要的,我會在它的兩邊放一個`\ b`。 – tchrist 2010-11-27 13:50:07

相關問題